¿Cómo se escriben métodos de acceso personalizados en Perl6?

¿Cómo se escriben métodos de acceso personalizados en Perl6?

Si tengo esta clase:

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

Puedo hacer esto:

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

Digamos que quiero agregar un pequeño cheque a un setter en mi clase Perl6 sin renunciar al$gandalf.mana = 150; notación (en otras palabras, no quiero escribir esto:$gandalf.setMana(150);) El programa debería morir si intenta establecer un maná negativo. ¿Cómo hago esto? La documentación de Perl6 solo menciona que es posible escribir accesores personalizados, pero no dice cómo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta