干扰WhateverCode生成,而是将Whatever逐字传递给自定义中缀运算符

fre*_*ddy 4 raku

# use Something;

sub infix:<-_->(*@args) is assoc("list") { @args.raku }

say * -_- 5
Run Code Online (Sandbox Code Playgroud)

有了这个我得到

WhateverCode.new
Run Code Online (Sandbox Code Playgroud)

我预计

[Whatever, 5]
Run Code Online (Sandbox Code Playgroud)

所以它会传递任何对象而不进行闭包生成

Eli*_*sen 5

*在该上下文中具有特殊的语法含义。(目前)没有办法解决这个问题。

如果你想得到[Whatever, 5]的结果@args,你需要写:

Whatever -_- 5
Run Code Online (Sandbox Code Playgroud)

我想将来可能会有一个编译指示禁用任何代码柯里化,但用例还没有出现。