Curso de Raku / Avanzado / Operadores
Operadores definidos por el usuario
Los operadores en Raku son en realidad subrutinas con nombres
especiales. Eso significa que puedes definir los tuyos propios,
utilizando los nombres de categoría que conociste en la página Tipos de operadores en Raku:
prefix, infix, postfix, etc.
Para declarar un operador, escribe un sub cuyo nombre
sea la categoría, dos puntos y el símbolo del operador entre corchetes
angulares. Aquí hay un nuevo operador infijo llamado
plus:
sub infix:<plus>($a, $b) {
$a + $b
}
say 3 plus 4; # 7Una vez definido, plus se usa entre sus dos operandos,
exactamente como cualquier operador infijo incorporado.
Un operador postfijo sigue a su operando. El factorial es un ejemplo
clásico: aquí está como el operador postfijo !, construido
con el metaoperador de
reducción que viste anteriormente:
sub postfix:<!>(Int $n) {
[*] 1..$n
}
say 5!; # 120No estás limitado a letras y puntuación ASCII; el símbolo de un operador puede ser cualquier carácter. Este operador prefijo usa el signo de sección para duplicar un número:
sub prefix:<§>($x) {
$x * 2
}
say §5; # 10Definir operadores es una herramienta poderosa, así que úsala con buen gusto: un operador bien elegido puede hacer que el código se lea como el dominio del problema, mientras que uno oscuro solo confundirá al siguiente lector.
Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Ejercicios
Esta sección contiene 3 ejercicios. Mira todos los temas de esta sección antes de empezar los ejercicios.