Curso de Raku / Programación funcional, concurrente, reactiva y web / Programación funcional / Reducción / Exercises / La cadena más larga
Solución: La cadena más larga
Aquí tienes una posible solución para la tarea.
Código
my @animals = 'cat', 'elephant', 'dog', 'fox';
say @animals.reduce(-> $a, $b { $b.chars > $a.chars ?? $b !! $a });🦋 Puedes encontrar el código fuente en el archivo longest-string.raku.
Salida
elephantComentarios
El bloque se queda con el más largo de sus dos argumentos:
$aes la cadena más larga vista hasta el momento,$bes la siguiente, y el ternario devuelve la que tenga más caracteres.reducearrastra ese ganador como$aa la llamada siguiente, así que tras recorrer la lista entera el valor acumulado es la más larga de todas:elephant.