默认情况下,Raku的“die”报告“die”所在的行号,如果您想要调用上下文的行号,类似于Perl 5中的“carp”,该怎么办?
没有直接相当于carp
的内容,但是你可以使用--ll-exception
参数启动raku,这将在执行错误时创建一个完整的堆栈跟踪。
我猜还没有人创建Carp
模块。鉴于已经有Backtrace
类,创建一个carp
子程序不应该太困难:
$ raku -e 'say "file: {.file}:{.line}" for Backtrace.new'
file: SETTING::src/core.c/Backtrace.pm6:94
file: SETTING::src/core.c/Backtrace.pm6:94
file: -e:1
现在在 GitHub 上有一个名为 Carp 模块,很快将会在 Raku 生态系统中提供。目前它只支持最基本的功能,但随着时间的推移,它应该会得到改进。
所以你的问题的答案就是像在 Perl 5 中使用 Carp 一样使用它。 :-)