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

perl引用中的闭包closure

发布时间:2020-12-15 20:49:44 所属栏目:大数据 来源:网络整理
导读:perl中的引用相当于指针,其中闭包closure实现迭代,类似数据库游标取出一行行记录。 #!/usr/bin/perl sub number_printer { ????????????????my ($input)???? = @_; ????????????????if($input % 2){$input++}; ????????????????$rs=sub { ????????????????
perl中的引用相当于指针,其中闭包closure实现迭代,类似数据库游标取出一行行记录。
#!/usr/bin/perl
sub number_printer {
????????????????my ($input)???? = @_;
????????????????if($input % 2){$input++};
????????????????$rs=sub {
????????????????print "$input";
????????????????$input += 2;

};
return $rs;
}
$iterator = number_printer(30);
????????????????for ($i=0;$i<10;$i++) {
????????????????&$iterator();

}
print "n";
打印的结果为
?? ?30 32 34 36 ..48
而不是2468101214161820
???

其中my ($input) = @_可以替换为my $input = shift;?
加括号打印的是元素,不加括号打印的是元素个数

(编辑:李大同)

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

    推荐文章
      热点阅读