perl 5 鲤鱼的 raku 类似物是啥?

Posted

技术标签:

【中文标题】perl 5 鲤鱼的 raku 类似物是啥?【英文标题】:What's the raku analog of perl 5's carp?perl 5 鲤鱼的 raku 类似物是什么? 【发布时间】:2020-04-29 17:05:20 【问题描述】:

默认情况下,Raku 的“die”会报告“die”所在的行号,如果您想要调用上下文的行号,比如 perl 5 中的“carp”,该怎么办?

【问题讨论】:

FWIW 我现在正在开发一个模块。完成后会再次发布。 【参考方案1】:

现在在 GitHub 上有一个 Carp module 可用,并且很快就会在 Raku 生态系统中可用。它目前只支持最基本的功能,但随着时间的推移,它应该会得到改进。

所以你的问题的答案是像在 Perl 5 中一样使用 Carp。:-)

【讨论】:

【参考方案2】:

没有直接等效于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

【讨论】:

以上是关于perl 5 鲤鱼的 raku 类似物是啥?的主要内容,如果未能解决你的问题,请参考以下文章

Perl 之父同意 Perl 6 改名为 Raku

Perl 6 现在叫 Raku

Raku vs. Perl5,出人意料的结果

Raku 类定义中“方法”之前的“has”关键字是啥意思?

比尔盖茨办公室曝光,令人震撼!Perl 6将重命名为Raku;中兴通讯在Linux基金会正式孵化首个开源社区

以后没有 Perl 6 了!Perl 之父同意改名