当我们使用名称作为字符串时调用过程吗?

时间:2019-01-20 21:30:33

标签: perl6

当我们将名称命名为字符串时,是否可以在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>;

1 个答案:

答案 0 :(得分:11)

您可以使用间接名称查找:

sub AAA { say "ok"; }
my $sub = "AAA";
&::($sub)();