Corso di Raku / Avanzato / Operatori
Operatori definiti dall’utente
Gli operatori in Raku sono in realtà semplici subroutine con nomi
speciali. Ciò significa che puoi definire i tuoi operatori, utilizzando
i nomi di categoria che hai incontrato nella pagina Tipi di operatori Raku:
prefix, infix, postfix e così
via.
Per dichiarare un operatore, scrivi un sub il cui nome è
la categoria, i due punti e il simbolo dell’operatore tra parentesi
angolari. Ecco un nuovo operatore infisso chiamato
plus:
sub infix:<plus>($a, $b) {
$a + $b
}
say 3 plus 4; # 7Una volta definito, plus viene usato tra i suoi due
operandi, esattamente come qualsiasi operatore infisso predefinito.
Un operatore postfisso segue il suo operando. Il fattoriale è un
classico esempio: eccolo come operatore postfisso !,
costruito sul meta-operatore di
riduzione che hai incontrato in precedenza:
sub postfix:<!>(Int $n) {
[*] 1..$n
}
say 5!; # 120Non sei limitato a lettere e punteggiatura ASCII; il simbolo di un operatore può essere qualsiasi carattere. Questo operatore prefisso usa il segno di sezione per raddoppiare un numero:
sub prefix:<§>($x) {
$x * 2
}
say §5; # 10Definire operatori è uno strumento potente, quindi usalo con gusto: un operatore ben scelto può far leggere il codice come il dominio del problema, mentre uno oscuro non fa che confondere il lettore successivo.
Pratica
Risolvi 1 quiz sul contenuto di questo argomento.
Esercizi
Questa sezione contiene 3 esercizi. Guarda tutti gli argomenti di questa sezione prima di iniziare gli esercizi.