Wie schreibt man benutzerdefinierte Zugriffsmethoden in Perl6?

Wie schreibt man benutzerdefinierte Zugriffsmethoden in Perl6?

Wenn ich diese Klasse habe:

class Wizard {
    has Int $.mana is rw;
}

Ich kann dies tun

my Wizard $gandalf .= new;
$gandalf.mana = 150;

Angenommen, ich möchte einem Setter in meiner Perl6-Klasse einen kleinen Scheck hinzufügen, ohne auf das @ zu verzichte$gandalf.mana = 150; notation (mit anderen Worten, ich möchte das nicht schreiben:$gandalf.setMana(150);). Das Programm sollte abstürzen, wenn es versucht, ein negatives Mana zu setzen. Wie mache ich das? In der Perl6-Dokumentation wird nur erwähnt, dass es möglich ist, benutzerdefinierte Zugriffsmethoden zu schreiben, aber es wird nicht angegeben, wie.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage