Curso de Raku / Apéndice 🆕 / Flujo y funciones / Subrutinas y estilo funcional / Exercises / Componga dos funciones
Solución: Componga dos funciones
Aquí tienes una posible solución para la tarea.
Código
sub compose(&f, &g) {
return -> $x { f(g($x)) };
}
my $combined = compose(* * 2, * + 1);
say $combined(5);🦋 Puedes encontrar el código fuente en el archivo compose.raku.
Salida
12Comentarios
Los parámetros
&fy&gaceptan cualquier invocable; aquí las funciones Whatever* * 2y* + 1.composedevuelve una función anónima nueva-> $x { f(g($x)) }. Llamarla con5ejecuta primerog(5 + 1), despuésf(6 * 2), dando12.