可以创建返回函数的关联数组吗?类似这样的东西
%a = ('first' => sub first { $x = @_; sprintf("(first %s)", $x); });谢谢
发布于 2013-05-16 21:22:15
您可以存储对匿名子例程的引用:
my %a = ('first' => sub { my ($x) = @_; sprintf("(first %s)", $x); });
或对命名子例程的引用:
sub first { 
  my ($x)= @_; 
  sprintf("(first %s)", $x);
}
my %a = ('first' => \&first);在这两种情况下,您都以相同的方式取消对它们的引用。
my @result = $a{first}->(@args);这通常被称为“调度表”。
https://stackoverflow.com/questions/16587161
复制相似问题