Как вы вызываете функцию, имя которой является переменной? - PullRequest
9 голосов
/ 04 июля 2019

Я пытаюсь использовать этот синтаксис для вызова функции "$name"(). Я знаю, что это работает для методов, но я не могу, если есть способ сделать это с помощью функций из модуля.

Я пробовал это => sub b(){say "b";}; "b"();, но это не работает.

Есть идеи?

1 Ответ

8 голосов
/ 04 июля 2019

@ sena_kun ответил мне через канал IRC Perl6 , и похоже, что правильный синтаксис будет: sub b(){say "best" }; ::('&b')();.

Как вы можете видеть, это выглядит как "волшебство",поэтому вместо этого @sena_kun сказал мне более понятный способ: sub a {1.say}; sub b {2.say}; my @a = &a, &b; for @a -> &f { &f()}

...