Cursus Raku / Geavanceerd / Debuggen / Waarden omzetten naar tekst

De juiste kiezen

Voor alledaagse scalaire waarden zoals getallen en strings zien alle drie de representaties er hetzelfde uit. Ze beginnen te verschillen bij samengestelde of ongedefinieerde waarden. Hier is een Pair op drie manieren weergegeven:

say (foo => 1).gist; # foo => 1
say (foo => 1).Str;  # foo	1
say (foo => 1).raku; # :foo(1)

Een grove vuistregel:

  • .gist — voor uitvoer bedoeld om door een persoon gelezen te worden (say, note).
  • .Str — voor uitvoer die platte tekst is (print, put, interpolatie, de ~ operator).
  • .raku — voor een codeachtige representatie bij het debuggen (dd).

Elk van deze methodes kan je eigen definitie krijgen wanneer je een klasse schrijft, zodat je eigen objecten ook netjes worden afgedrukt. Daar komen we op terug wanneer we klassen maken in het volgende deel.

Cursusnavigatie

De .raku-methode   |   Debuggen met dd