函数调用内的优先级

cod*_*ons 7 operator-precedence rakudo raku

使用定义的或运算符(// ) 会产生我期望的结果:

\n
say( \'nan\'.Int // 42); # OUTPUT: \xc2\xab42\xc2\xbb\n
Run Code Online (Sandbox Code Playgroud)\n

然而,使用较低优先级orelse运算符会引发错误:

\n
say( \'nan\'.Int orelse 42); \n# OUTPUT: \xc2\xabError: Unable to parse expression in argument list; \n#                 couldn\'t find final \')\' \n#                 (corresponding starter was at line 1)\xc2\xbb\n
Run Code Online (Sandbox Code Playgroud)\n

关于优先级的工作原理,我缺少什么?

\n

(或者这个错误是一个错误,我只是想太多了?)

\n

Eli*_*sen 4

我想说,这是一个语法错误,因为

say ("nan".Int orelse 42);  # 42
Run Code Online (Sandbox Code Playgroud)

作品。