Что такое раку-аналог карла Perl 5?

9

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

Джозеф Бреннер
источник
FWIW Я работаю над модулем сейчас. Опубликую снова, как только я закончу.
user0721090601

Ответы:

10

Прямого эквивалента нет 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

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

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

user0721090601
источник