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

Arn*_*mer 7 perl6

当我们将名称作为字符串时,是否可以在Perl 6中调用过程?

    sub AAA { say "ok"; }
    my $sub = "AAA";
    # &$sub(); or something ?
Run Code Online (Sandbox Code Playgroud)

我知道调度表是一个更好的主意:

    my %table; %table<a> = &AAA();
    &(%table<a>); # Execute "AAA"
Run Code Online (Sandbox Code Playgroud)

我问,因为调用一个我们将名称作为字符串的方法是可能的:

    say pi."$_"() for <Int Real Str>;
Run Code Online (Sandbox Code Playgroud)

uge*_*exe 11

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

sub AAA { say "ok"; }
my $sub = "AAA";
&::($sub)();
Run Code Online (Sandbox Code Playgroud)