Ste*_* P. 1 perl perl-data-structures
为什么我要使用Perl匿名子程序而不是命名子程序?激励我思考以下方面的优点:
这是一个非常酷的概念,但它在任何方面都很实用吗?我有必要使用存储在某种数据结构中的匿名子/子引用吗?或者也许是方便的情况?
我理解为什么在某些上下文中需要匿名子类,例如处理共享变量(当在另一个子元素中声明匿名子元素时),但除非我遗漏了某些内容,否则我只是看不到使用任何类型函数的意义参考.看起来我们应该直接调用函数,代码看起来会更好/更有条理.
请告诉我,我错了.我很想有充分的理由使用这些东西.
提前致谢.
小智 5
调度表可用于根据某些值动态确定要采取的步骤:
my %disp = (
foo => sub { 'foo' },
bar => sub { 'bar' },
);
my $cmd = get_cmd_somehow();
if (defined $disp{$cmd}) {
$disp{$cmd}->(@args)
} else {
die "I don't know how to handle $cmd"
}
Run Code Online (Sandbox Code Playgroud)
(方法调度通过 - > can($ method)在概念上类似,但更灵活,细节被隐藏.)
匿名函数和词法闭包有许多其他用途; 或许深入研究"高阶函数".(例如,考虑map()/ grep().)
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |