'xx' 运算符的有趣之处在于:
(^100).pick xx 10
Run Code Online (Sandbox Code Playgroud)
生成 10 个随机 Int 的列表,而不是一个随机 Int 作为列表重复 10 次。
编译器是否将运算符作为特殊情况处理?或者它真的只是另一个我们也可以定义自己的潜艇?(如果是这样,我很想知道如何......)
谢谢
Jon*_*ton 10
是的,这是当前在编译器中作为特殊形式存在的一系列运算符之一。其他示例包括||and &&,它仅根据左侧的布尔化来评估右侧。
目前,没有办法自己定义这样的操作符(或者至少,不是官方支持的操作符;如果准备修改编译器内部,一切皆有可能)。然而,宏 - 计划用于下一个主要的 Raku 语言版本 - 将启用此功能。