Par défaut, le "die" de Raku rapporte le numéro de ligne où se trouve le "die", que se passe-t-il si vous souhaitez le numéro de ligne du contexte appelant, ala "carpe" avec perl 5?
Par défaut, le "die" de Raku rapporte le numéro de ligne où se trouve le "die", que se passe-t-il si vous souhaitez le numéro de ligne du contexte appelant, ala "carpe" avec perl 5?
Réponses:
Il n'y a pas d'équivalent direct à carp, mais vous pouvez démarrer raku avec le --ll-exceptionparamètre, qui créera une trace de pile complète en cas d'erreur d'exécution.
Je suppose que personne n'a encore réussi à créer un Carpmodule. La création d'un carpsous ne devrait pas être trop difficile, étant donné qu'il existe une Backtraceclasse:
$ 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
Il y a maintenant un module Carp disponible sur GitHub et devrait bientôt être disponible dans l'écosystème Raku. Il ne prend actuellement en charge que les fonctionnalités les plus élémentaires, mais au fil du temps, il devrait être amélioré.
Donc, la réponse à votre question est d'utiliser Carp comme vous le feriez en Perl 5. :-)