Cursus Raku / Geavanceerd / Debuggen / Debuggen met dd

Variabelen dumpen

Roep dd aan om te zien wat een variabele bevat, net zoals je zou doen met say:

my $var = 42;
dd $var;

Samen met de waarde toont dd ook de naam van de variabele:

$var = 42

Als de variabele een gedeclareerd type heeft, verschijnt het type ook. Vergelijk de uitvoer van het volgende programma met het vorige:

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

Dit is het belangrijkste verschil met say: een enkele dd-aanroep op een scalar vertelt je de naam en, indien bekend, het type van de gegevens — zodat je meerdere dd-aanroepen in een programma kunt plaatsen en toch kunt herkennen welke uitvoer bij welke variabele hoort.

Je kunt ook complexere datastructuren dumpen, zoals arrays of hashes. Hier toont dd een codeachtige weergave van de waarde:

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

Merk op dat de geneste array duidelijk zichtbaar blijft (er wordt echter geen variabelenaam getoond). Hetzelfde geldt voor hashes, waarvan dd de sleutels in gesorteerde volgorde toont:

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

Praktijk

Maak de 1 quiz over de inhoud van dit onderwerp.

Cursusnavigatie

Debuggen met dd   |   Quiz — Een dd-dump lezen


💪 Of ga direct naar de oefeningen in deze sectie.