Curso de Raku / Avanzado / Subrutinas / Subrutinas anónimas / Exercises / Triplicar
Solución: Triplicar
Aquí tienes una posible solución para la tarea.
Código
my $factor = 3;
my $scale = -> $x { $x * $factor };
say $scale(7);🦋 Encuentra el programa en el archivo triple-it.raku.
Salida
21Comentarios
El bloque puntiagudo usa
$factor, una variable del ámbito circundante, aunque solo tiene un parámetro$x. Capturar tales variables es lo que lo convierte en una clausura.Con
$factorigual a3, llamar a$scale(7)da21. Cambia$factory el mismo bloque escalaría por el nuevo valor:
$factor = 5;
say $scale(7); # 35Dado que la clausura captura la variable en lugar de su
valor en el momento en que fue escrita, la llamada posterior ve el
$factor actualizado y devuelve 35.
Navegación del curso
← Triplicar | Un cuadrado anónimo →