用于抑制接收器上下文的自定义运算符

Custom operator to suppress sink context

multi sub infix:<*>( Numeric $i, Block $b ) { &$b($_) for ^($i.Int); }
3 * { .say };

产量

Useless use of "*" in expression "3 * { .say }" in sink context

如何摆脱它并让我的接线员正常工作?我知道我可以将它分配给 $ 或其他东西,但我不想这样。

将此行添加到代码的开头:

proto sub infix:<*> ( | --> Nil ) {*}

请参阅 了解其中的 --> Nil 部分(以及一大堆不相关的内容),包括 Larry 2012 年的评论:

--> Nil seems like pretty good documentation of a procedure done only for its side-effects