有没有办法以编程方式测试编译 Raku 代码?
Is there any way of programatically test-compiling Raku code?
您可以将代码保存到文件中并使用 raku -c
进行编译。有什么方法可以使用一些 public API?
以编程方式执行相同的操作
有一个未记录的命名参数 :check
到 EVAL
,它将阻止编译代码实际 运行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指出的那样。
您可以将代码保存到文件中并使用 raku -c
进行编译。有什么方法可以使用一些 public API?
有一个未记录的命名参数 :check
到 EVAL
,它将阻止编译代码实际 运行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指出的那样。