Ответ 1
Это ошибка.
См. Отчеты об ошибках. Perl6 REPL забывает определение... и REPL, определяя новый оператор... для получения дополнительной информации.
У меня возникали проблемы с определением операторов на Perl 6 REPL, и я заметил, что они работают, но только при использовании в той же строке, что и они определены. Почему это так?
> sub postfix:<!>(Int $x where { $x >= 0 }) { [*] 1..$x }; 6!;
720
> 6!;
===SORRY!=== Error while compiling:
Negation metaoperator not followed by valid infix
------> 6!⏏;
expecting any of:
infix
infix stopper
Это ошибка.
См. Отчеты об ошибках. Perl6 REPL забывает определение... и REPL, определяя новый оператор... для получения дополнительной информации.