atitit.复合变量,也就是类似$$a的变量的原理与实现 java c#.net php js
atitit.复合变量,也就是类似$$a的变量的原理与实现 java c#.net php js
1.1. 复合变量,也就是类似$$a的变量,它会进行两次的解释。 1
1.2. 数据库里面的复合变量1
1.3. 为什么只有php实现了符合变量,因为他的美元符号2
1.4. 符合变量的本质其实就是指针了2
2. 使用java实现符合变量2
2.1. invoke2
2.2. 实现2
3. 参考4
1.1. 复合变量,也就是类似$$a的变量,它会进行两次的解释。
这给PHP带来了非常灵活的动态特性。
1.2. 数据库里面的复合变量
记录(Record)
什么是记录:
记录是由几个相关值构成的复合变量,常用于支持SELECT语句的返回值。使用记录可以将一行数据看成是一个单元进行处理,而不必将每一列单独处理,和面向对象程序设计语言里面的对象或者C语言的结构体类似。
PLSQL复合变量
复合变量指用于存放多个值的变量。定义复合变量时,必须要使用PL/SQL的复合数据类型。PL/SQL包括
PL/SQL记录、PL/SQL表、嵌套表及VARRAY等四种复合数据类型。
1.3. 为什么只有php实现了符合变量,因为他的美元符号
Dollar继承自perl。。。
Dollar也不是必须的。。只需要在使用的时候致命dollar就ok懒。。Not nessury var must dollar start。。
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
1.4. 符合变量的本质其实就是指针了
2. 使用java实现符合变量
2.1. invoke
import static aaa.VarUtil.*;
public class DynaVar {
public static void main(String[] args) {
def("$a","v_a");
def("$b", "a");
echo($("$b"));
echo($("$$b"));
}
2.2. 实现
package aaa;
import java.util.Map;
import com.attilax.lang.AString;
import com.google.common.collect.Maps;
public class VarUtil {
public static Map vars_map=Maps.newConcurrentMap();
/**
* //var use
* @param var_name
* @return
*/
public static Object $(String var_name) {
int dollarIndex=var_name.lastIndexOf("$");
if(dollarIndex==0)
return vars_map.get(var_name);
String left=AString.Left(var_name, dollarIndex);
String rit= var_name.substring(dollarIndex);
char[] a=left.toCharArray();
Object var_v= vars_map.get(rit);
for (int i = 0; i < a.length; i++) {
String new_var_name="$"+var_v.toString();
var_v=vars_map.get(new_var_name);
}
return var_v;
}
////var define
public static void def(String var_name, String var_val) {
vars_map.put(var_name, var_val);
}
public static void echo(Object get_var) {
System.out.println(get_var);
}
/**
* //var use
* @param var_name
* @return
*/
//public static Object $(String var_name) {
//// TODO Auto-generated method stub
//return vars_map.get(var_name);
//}
}
3. 参考
PLSQL复合变量与参照变量 - 蓝紫 - 博客园.htm
最新文章
- 上海市国资大数据课题启动仪式暨数据资产技术及金融行业应用沙龙隆重开
- matlab mesh与surf比较
- [NOIp提高组2017]宝藏
- UML之类图和包图,对象图
- 【直播】回放!人脸图像算法及其应用
- leetcode 54. Spiral Matrix | 54. 螺旋矩阵(Java)
- mysql 查询慢 分析_MySQL优化:定位慢查询的两种方法以及使用explain分析SQL
- linux删除之前的文件日志
- Spring Data REST API集成Springfox、Swagger
- dj鲜生-21-模板抽离-用户中心的父模板页制作-二级base_no_cart与三级base_user_center
- 手游复古传奇服务器维护,复古传奇手游:服务器中那些极品装备,属性也是逆天!...
- 这一次搞懂 Spring 的 Bean 实例化原理
- python能print中文吗_python用print输出中文字符
- python 遍历字符串_python中如何实现遍历字符串的方法
- MAPGIS做图指导
- 戴尔R730从U盘启动
- Prometheus的函数和计算公式
- iVX开发过程整理的常见问题与回答(二)
- html5微信页面制作,微信上的html5页面是怎么制作出来的?自己怎么制作微信网页链接?...
- 最新CCF会议|2022-2023顶会会议时间+投稿时间+官网链接(视觉+多媒体+数据挖掘+数据库+通用人工智能)
热门文章
- hdu 1003 dp
- 详解LINUX 的DHCP服务
- 【S1官方核心】18128核心纯净雅黑H大全力打造的1.9精品
- 在windows XP运行3660路由器仿真器
- [译]编写优雅的JavaScript代码 - 最佳实践
- Mybatis之批量更新操作
- .NET防SQL注入方法
- c#,winform,验证输入内容,文本框,长度,errorprovider组件,方便,快捷
- spring boot 打包jar,jar没有主目录清单
- Oracle Rac 11R2添加节点