Что такое аналог раку у карпа perl 5? - PullRequest
9 голосов
/ 13 января 2020

По умолчанию «d ie» Раку сообщает номер строки, в которой находится «d ie», что если вам нужен номер строки вызывающего контекста, то есть «carp» с perl 5

Ответы [ 2 ]

10 голосов
/ 13 января 2020

Прямого эквивалента carp нет, но вы можете запустить raku с параметром --ll-exception, который создаст полную трассировку стека при ошибке выполнения.

Полагаю, что до сих пор никто не удосужился создать модуль Carp. Создание подпрограммы carp не должно быть слишком сложным, поскольку существует класс Backtrace:

$ 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
3 голосов
/ 16 января 2020

Теперь на GitHub доступен модуль Carp , который скоро должен появиться в экосистеме Raku. В настоящее время он поддерживает только самые основные функции c, но со временем его следует улучшить.

Таким образом, ответ на ваш вопрос заключается в использовании карпа, как в Perl 5.: -)

...