cod*_*ons 7 operator-precedence rakudo raku
使用定义的或运算符(//
) 会产生我期望的结果:
say( \'nan\'.Int // 42); # OUTPUT: \xc2\xab42\xc2\xbb\n
Run Code Online (Sandbox Code Playgroud)\n然而,使用较低优先级orelse
运算符会引发错误:
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