Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Atribūti / Exercises / Maināma etiķete

Risinājums: Maināma etiķete

Šeit ir iespējams risinājums uzdevumam.

Kods

class Label {
    has $.text is rw;
}

my $l = Label.new(text => 'draft');
$l.text ~= ' (revised)';
say $l.text;

🦋 Atrodiet programmu failā changeable-label.raku.

Izvade

draft (revised)

Komentāri

  1. Iezīme is rw liek piekļuves metodei atgriezt rakstāmu konteineru, tāpēc tā var parādīties piešķīruma kreisajā pusē.

  2. Tā kā tā ir rakstāma, uz tās darbojas arī saliktais operators ~=: $l.text ~= ' (revised)' nolasa pašreizējo tekstu, pievieno galotni un ieraksta rezultātu atpakaļ — un tas viss caur to pašu piekļuves metodi.

Kursa navigācija

Maināma etiķete   |   Metodes