• Perl 引用


    
    返回子程序引用的子程序:对返回的子程序进行closure处理。Closure即如果你定义了一个函数,它就以最初定义的内容运行。
    sub generate_greeting { my($greeting) = "hello world"; return sub {print $greeting}; } $rs = generate_greeting(); &$rs(); 
    函数中的局部变量$greeting在函数执行结束后($rs = generate_greeting()),仍然存在(&$rs())。
    
    同变量的引用,返回函数的引用,仍引用变量,引用计数不为0. 
    
    
    [oracle@jhoa 2]$ cat a4.pl 
    sub generate_greet {
    my ($greeting) = "Hello world";
       return sub {print "$greeting
    "};
    }
    $rs = &generate_greet;
    print "$rs is $rs
    ";
    ##函数引用 
    &$rs();
    [oracle@jhoa 2]$ perl a4.pl 
    $rs is CODE(0x1fdf42a0)
    Hello world
    
    
    
    
    [oracle@jhoa 2]$ cat a5.pl 
    sub generate_greeting {
        my($greeting) = @_;     
        return sub {my($subject)= @_;print "$greeting $subject 
    "; };
    }
    $rs1 = generate_greeting("hello");
    &$rs1 ("world") ;
    
    [oracle@jhoa 2]$ perl a5.pl 
    hello world 
    
    
    引用用创建,用类型符号+$a访问,访问引用,用$$a,@$a,&$a()。匿名结构返回的是引用。
    

  • 相关阅读:
    CSS
    171 Excel Sheet Column Number
    设计模式之组合模式
    设计模式之外观模式
    设计模式之装饰者模式
    设计模式之抽象工厂
    设计模式之工厂方法
    23种设计模式和7大原则-开篇
    设计模式之简单工厂
    每天一个Linux命令:locate(19)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13351968.html
Copyright © 2020-2023  润新知