在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
我个人理解,就是当一个变量超出作用域时,应是消失了,不见了的,但你还能访问它,这就是闭包。 # #!/usr/bin/env perl -w use strict; { my $value = 'abc'; } print $value; 如果如下:
因为{}超出后,$value不存在了,所以print变成打印一个未定义的变量,会出错。
再来看一个例子: 1 #!/usr/bin/env perl -w 2 use strict; 3 sub function_1{ 4 my $value = 'abc'; 5 my $in_function_1 = sub{print "$value\n";}; 6 return $in_function_1 7 } 8 9 my $value = function_1; 10 $value->();
结果如下:
#
|
请发表评论