Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten / Attributen / Exercises / Een wijzigbaar label
Oplossing: Een wijzigbaar label
Hier is een mogelijke oplossing voor de taak.
Code
class Label {
has $.text is rw;
}
my $l = Label.new(text => 'draft');
$l.text ~= ' (revised)';
say $l.text;🦋 Je kunt de broncode vinden in het bestand changeable-label.raku.
Uitvoer
draft (revised)Opmerkingen
De trait
is rwlaat de accessor een schrijfbare container teruggeven, zodat die links van een toekenning kan staan.Omdat hij schrijfbaar is, werkt de samengestelde operator
~=er ook op:$l.text ~= ' (revised)'leest de huidige tekst, plakt het achtervoegsel eraan en slaat het resultaat weer op — allemaal via dezelfde accessor.
Cursusnavigatie
← Een wijzigbaar label | Methoden →