raku に次のプログラムがある場合、うまく動作します。
trabajando-en-piensa-en-raku on master [?] via v2.6.5
❯ cat factorial.raku
sub factorial( $n ) {
[*] 1 .. $n;
}
sub postfix:<!>( $n ) {
[*] 1 .. $n;
}
my $n = 5;
say "El factorial de $n es {factorial $n}";
say "Si calculamos $n! obtenemos {$n!}";
trabajando-en-piensa-en-raku on master [?] via v2.6.5
❯ raku factorial.raku
El factorial de 5 es 120
si calculamos 5! obtenemos 120
しかし、この関数を raku REPL で定義すると、次のようになります。
> * * &factorial
> 5
> El factorial de 5 es 120
階乗関数では正常に機能し、期待どおりに機能しますが、 ! オペレーター:
> * * &postfix:<!>
> ===SORRY!=== Error while compiling:
Negation metaoperator not followed by valid infix
------> say "Si calculamos $n! obtenemos {$n!⏏}";
expecting any of:
infix
infix stopper
raku REPL で演算子を定義するには、特別なシンタックスが必要です。または、環境のロード方法によって異なります。
OSX Catalinaで使用しています
trabajando-en-piensa-en-raku on master [?] via v2.6.5
❯ rakubrew versions
system
moar-2020.07
* moar-2020.08.2