有一个未记录的命名参数: check
toEVAL
,它将阻止编译后的代码实际运行。它将在成功时返回Nil
。如果有任何错误,它会像它一样抛出,否则也会。
$ raku -e 'q/say "foo"/.EVAL'
foo
$ raku -e 'q/zay "foo"/.EVAL'
===SORRY!=== Error while compiling ...
Undeclared routine:
zay used at line 1. Did you mean 'say'?
$ raku -e 'say q/say "foo"/.EVAL(:check)'
Nil
也许应该记录该命名参数。
编辑:请注意,这不会阻止运行BEGIN
块,正如@ugexe指出的那样。