加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl--函数引用

发布时间:2020-12-15 23:49:58 所属栏目:大数据 来源:网络整理
导读:函数的引用: $ref=func; (func的定义在其他位置),不要(),当func()时为执行函数,返回值再引用。当func()时为执行函数,返回值再引用。[oracle@jhoa 3]$ cat 3.pl sub generate_greeting { my($greeting) = "hello world"; return sub {print $greeting
函数的引用:       $ref=&;func;   (func的定义在其他位置),不要(),当&;func()时为执行函数,返回值再引用。

当&;func()时为执行函数,返回值再引用。

[oracle@jhoa 3]$ cat 3.pl 
sub generate_greeting { my($greeting) = "hello world"; 
return sub {print $greeting;print "goodbye"}; }
##引用
 $rs = generate_greeting();
print "$rs is $rsn";
##使用函数
 &$rs; 

[oracle@jhoa 3]$ perl 3.pl 
$rs is CODE(0x61c52a0)
hello worldgoodbye[oracle@jhoa 3]$ 


引用的使用;

简单变量:$$ref  ${$ref}
数组:@$ref @{$ref};  元素:$$ref[0]    $ref->[0];

散列:%$ref  %{$ref};   元素:$$ref{‘a’} $ref->{‘a’};

函数:&$ref(a,b);   $ref->(a,b)

文件:$ref

函数的引用:       $ref=&;func;   (func的定义在其他位置),不要(),当&;func()时为执行函数,返回值再引用。


[oracle@jhoa 3]$ cat 3.pl 
sub generate_greeting { my($greeting) = "hello world"; 
return sub {print $greeting}; } $rs = generate_greeting();
 &$rs(); 
 &$rs; 

[oracle@jhoa 3]$ perl 3.pl 
hello worldhello world[oracle@jhoa 3]$ 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读