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

Perl_子例程调用by引用

发布时间:2020-12-16 00:06:37 所属栏目:大数据 来源:网络整理
导读:# 第一种情况,传 匿名子例程引用 my $rs=greet; #$rs=greet();#wrong #$rs-('Joan','Kim');#当调用的已经是 匿名子例程引用 的时候。这行放在这里 报错 my $hidrs=sub{ ? ? ? ? my $ele=shift (@_); ? ? ? ? print "$ele say "Hello World".n"; };#her

#第一种情况,传匿名子例程引用

my $rs=&;greet;

#$rs=&;greet();#wrong

#$rs->('Joan','Kim');#当调用的已经是匿名子例程引用的时候。这行放在这里报错


my $hidrs=sub{
? ? ? ? my $ele=shift (@_);
? ? ? ? print "$ele say "Hello World".n";
};#here is only 1 line not 4 lines
#&$hidrs('Tim');

#my $hidrs这块不能放在sub greet块的后面,不然会报错。


$rs->('Joan','Kim');#当调用的已经是匿名子例程引用的时候。这行放在这里工作正常

sub greet{
? ? ? ? my $ele=shift;
? ? ? ? print "$ele and ";
? ? ? ? return &$hidrs;#当调用的已经是 匿名子例程引用的时候,要注意写法与下面的 区分开来
}#here is 5 lines

$rs->('Joan','Kim');#当调用的已经是 匿名子例程引用的时候。这行放在这里工作 正常


#另一种情况,传有名子例程引用

my $rs1 = &;test1;
$rs1 -> ("Batman") -> ("Robin");#当调用的是 有名子例程引用的时候。这行放在这里工作 正常

#sub test1()#work

subtest1

{

? ? ? ? my $arg = shift;
? ? ? ? print $arg;
? ? ? ? return &;test2;#当调用的是 有名子例程引用的时候

}

$rs1 -> ("Batman") -> ("Robin");#当调用的是有名子例程引用的时候。这行放在这里工作正常


#sub test2()#work

sub test2

{
? ? ? ? my $arg = shift;
? ? ? ? print " and $arg say "Hello World" too.n";

}

$rs1 -> ("Batman") -> ("Robin");#当调用的是有名子例程引用的时候。这行放在这里工作正常

(编辑:李大同)

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

    推荐文章
      热点阅读