Corso di Raku / Avanzato / Debug / Debugging con dd / Exercises / Dump della struttura dati

Soluzione: Dump della struttura dati

Ecco una possibile soluzione del compito.

Codice

my @data = 'Raku', [1, 2, 3], (key => 'value');

dd @data;
say "Structure: { @data.raku }";

🦋 Puoi trovare il codice sorgente nel file dump-the-structure.raku.

Output

["Raku", [1, 2, 3], :key("value")]
Structure: ["Raku", [1, 2, 3], :key("value")]

Commenti

  1. dd @data stampa una rappresentazione simile a codice del contenuto dell’array. Va sul flusso di errore standard.

  2. Il metodo .raku restituisce la stessa rappresentazione come stringa, che viene poi incorporata in un messaggio normale usando l’interpolazione del codice e stampata con say sullo standard output.

  3. Le due righe qui sembrano uguali, ma passano attraverso flussi di output diversi: la prima proviene da dd (standard error), la seconda da say (standard output). Confronta quanto segue:

$ raku t.raku > /dev/null
["Raku", [1, 2, 3], :key("value")]

$ raku t.raku 2&> /dev/null
Structure: ["Raku", [1, 2, 3], :key("value")]

Dump della struttura dati   |   Dump di una variabile tipizzata