Что такое раку-аналог карла 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. :-)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.