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.