有没有办法以编程方式测试编译 Raku 代码?

Is there any way of programatically test-compiling Raku code?

您可以将代码保存到文件中并使用 raku -c 进行编译。有什么方法可以使用一些 public API?

以编程方式执行相同的操作

有一个未记录的命名参数 :checkEVAL,它将阻止编译代码实际 运行ning。它将 return 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指出的那样。