Как написать персонализированные методы доступа в Perl6?
Если у меня есть этот класс:
class Wizard {
has Int $.mana is rw;
}
Я могу это сделать:
my Wizard $gandalf .= new;
$gandalf.mana = 150;
Скажем, я хочу добавить небольшую проверку сеттера в свой класс Perl6, не отказываясь от нотации $gandalf.mana = 150;
(другими словами, я не хочу писать это: $gandalf.setMana(150);
). Программа должна умереть, если она пытается установить отрицательную ману. Как мне это сделать? Документация Perl6 просто упоминает, что можно писать пользовательские аксессоры, но не говорит, как это сделать.