Курс Raku / Розширені / Налагодження / Налагодження з dd / Вправи / Вивести структуру даних

Розв’язання: Вивести структуру даних

Ось один із можливих варіантів розв’язання задачі.

Код

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

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

🦋 Вихідний код можна знайти у файлі dump-the-structure.raku.

Вивід

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

Коментарі

  1. dd @data виводить схоже на код подання вмісту масиву. Воно потрапляє до стандартного потоку помилок.

  2. Метод .raku повертає те саме подання рядком, який потім вбудовується у звичайне повідомлення через інтерполяцію коду й виводиться за допомогою say у стандартний вивід.

  3. Тут обидва рядки виглядають однаково, але мандрують різними потоками виводу: перший походить від dd (стандартний потік помилок), другий — від say (стандартний вивід). Порівняйте:

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

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

Навігація курсом

Вивести структуру даних   |   Вивести типізовану змінну