当我们将名称命名为字符串时,是否可以在Perl 6中调用过程?
sub AAA { say "ok"; }
my $sub = "AAA";
# &$sub(); or something ?
我知道调度表是一个更好的主意:
my %table; %table<a> = &AAA();
&(%table<a>); # Execute "AAA"
我问是因为调用一个以名称为字符串的方法是 可能:
say pi."$_"() for <Int Real Str>;
答案 0 :(得分:11)
您可以使用间接名称查找:
sub AAA { say "ok"; }
my $sub = "AAA";
&::($sub)();