博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
perl引用中的闭包closure
阅读量:6230 次
发布时间:2019-06-21

本文共 451 字,大约阅读时间需要 1 分钟。

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; 
加括号打印的是元素,不加括号打印的是元素个数
本文转自 mcshell 51CTO博客,原文链接:http://blog.51cto.com/mcshell/477565,如需转载请自行联系原作者
你可能感兴趣的文章
量子通信和大数据最有市场突破前景
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
Myeclipes快捷键
查看>>
ToRPC:一个双向RPC的Python实现
查看>>
我的友情链接
查看>>
nginx在reload时候报错invalid PID number
查看>>
神经网络和深度学习-第二周神经网络基础-第二节:Logistic回归
查看>>
Myeclipse代码提示及如何设置自动提示
查看>>
c/c++中保留两位有效数字
查看>>
ElasticSearch 2 (32) - 信息聚合系列之范围限定
查看>>
VS2010远程调试C#程序
查看>>
[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
查看>>
由String类的Split方法所遇到的两个问题
查看>>
Python3.4 12306 2015年3月验证码识别
查看>>