Вызов процедуры, когда у нас есть имя в виде строки? - PullRequest
0 голосов
/ 21 января 2019

Можно ли вызвать процедуру в 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 голосов
/ 21 января 2019

Вы можете использовать косвенный поиск имени:

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