您可以将代码保存到一个文件中,然后使用 raku -c
. 有没有什么方法可以用一些公共的API来做同样的编程?
有一个未被记录的参数 :check
到 EVAL
这将阻止编译后的代码实际运行。 它将返回 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
也许应该把那个命名的参数记录下来。
EDIT: 请注意,这将 不 阻止 BEGIN
块的运行,正如@ugexe所指出的。