zoukankan      html  css  js  c++  java
  • 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也不是必须的。。只需要在使用的时候致命dollarok懒。。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

  • 相关阅读:
    Linux系统 Docker RabbitMQ容器集群部署
    Linux系统 SSH免密登入
    ubuntu server 乱码
    简单总结在github上托管工程
    在线编译系统之nodejs执行shell
    Ubuntu中软件安装与卸载
    ubuntu软件安装
    “cannot find module ‘npmlog’….”的错误
    关于事件的一点小总结
    mongodb基本操作
  • 原文地址:https://www.cnblogs.com/attilax/p/15198762.html
Copyright © 2011-2022 走看看