Syntax 有没有办法通过编程测试编译Raku代码?

Syntax 有没有办法通过编程测试编译Raku代码?,syntax,compilation,raku,Syntax,Compilation,Raku,您可以将代码保存到一个文件中,并使用编译。是否有任何方法可以通过使用一些公共API以编程方式执行相同的操作?有一个未记录的命名参数:检查到EVAL,这将阻止编译后的代码实际运行。成功时,它将返回Nil。如果有任何错误,它将抛出,否则也会抛出 $ raku -e 'q/say "foo"/.EVAL' foo $ raku -e 'q/zay "foo"/.EVAL' ===SORRY!=== Error while compiling ... Undeclared routine: z

您可以将代码保存到一个文件中,并使用编译。是否有任何方法可以通过使用一些公共API以编程方式执行相同的操作?

有一个未记录的命名参数
:检查
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
也许应该记录该命名参数

编辑:请注意,正如@ugexe所指出的,这不会阻止运行
BEGIN
块。

raku-e'q/BEGIN说“foo”/.EVAL(:check)