Raku-Kurs / Fortgeschritten / Debugging / Debugging mit dd / Exercises / Die Datenstruktur dumpen

Lösung: Die Datenstruktur dumpen

Hier ist eine mögliche Lösung der Aufgabe.

Code

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

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

🦋 Du findest den Quellcode in der Datei dump-the-structure.raku.

Ausgabe

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

Kommentare

  1. dd @data gibt eine codeähnliche Darstellung des Array-Inhalts aus. Die Ausgabe erfolgt auf den Standardfehlerstream.

  2. Die Methode .raku gibt dieselbe Darstellung als String zurück, der dann mittels Code-Interpolation in eine normale Nachricht eingebettet und mit say auf die Standardausgabe geschrieben wird.

  3. Die beiden Zeilen sehen hier gleich aus, aber sie durchlaufen verschiedene Ausgabeströme: Die erste kommt von dd (Standardfehlerausgabe), die zweite von say (Standardausgabe). Vergleiche:

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

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

Kursnavigation

Die Datenstruktur dumpen   |   Eine typisierte Variable dumpen