検討する
.say for (1,2,2).rotor(2=>-1).map( -> ($a, $b) { $a - $b })
期待どおりに動作します。しかしながら、
.say for (1,2,2).pairs.rotor(2=>-1).map( -> ($a, $b) { $a.value - $b.value })
投げる
Too few positionals passed to '<anon>'; expected 2 arguments but got 0 in sub-signature
これはバグですか、それとも何か不足していますか?
これは、Perl 6.dを実装するMoarVMバージョン2019.03上に構築されたRakudo Starバージョン2019.03.1です。
ところで-私はなぜドキュメントから| cではなく\ c ...ではないのか疑問に思っていました...
シグネチャ内では、シギレスのパラメータの前に縦棒|を付けてキャプチャを作成できます。これにより、引数リストの残りの部分がそのパラメーターにパックされます。