Corso di Raku / Avanzato / Debug / Debugging con dd

Dump delle variabili

Chiama dd per vedere cosa contiene una variabile, come faresti con say:

my $var = 42;
dd $var;

Insieme al valore, dd mostra anche il nome della variabile:

$var = 42

Se la variabile ha un tipo dichiarato, appare anche il tipo. Confronta l’output del seguente programma con quello precedente:

my Int $var = 42;
dd $var;
Int $var = 42

Questa è la differenza principale rispetto a say: una singola chiamata a dd su uno scalare ti dice il nome e, quando noto, il tipo del dato — così puoi inserire diverse chiamate dd in un programma e riconoscere comunque quale output appartiene a quale variabile.

Puoi anche fare il dump di strutture dati più complesse, come array o hash. Qui, dd stampa una rappresentazione simile a codice del valore:

my @arr = 10, 20, [1, 2, 3], 30;
dd @arr;
[10, 20, [1, 2, 3], 30]

Nota che l’array annidato resta chiaramente visibile (anche se il nome della variabile non viene stampato). Lo stesso vale per gli hash, le cui chiavi dd stampa in ordine alfabetico:

my %hash =
    gamma => 'g',
    alpha => 'a',
    beta  => 'b';
dd %hash;
{:alpha("a"), :beta("b"), :gamma("g")}

Pratica

Risolvi 1 quiz sul contenuto di questo argomento.

Debugging con dd   |   Quiz — Leggere un dump dd


💪 Oppure vai direttamente agli esercizi di questa sezione.