Curso de Raku / Avanzado / Subrutinas / Llamadas con dos puntos / Exercises / Un map con dos puntos
Solución: Un map con dos puntos
Aquí tienes una posible solución para la tarea.
Código
say (1..10).map(* * 2).grep: * > 10;🦋 Encuentra el programa en el archivo colon-map.raku.
Salida
(12 14 16 18 20)Comentarios
Solo
grep, la última llamada en la cadena, puede usar la forma con dos puntos. Los dos puntos hacen que* > 10sea su argumento, exactamente como lo haríagrep(* > 10). Como aun necesitamos imprimir los resultados,sayse usa ahora como función, no como método.La llamada a
mapdebe conservar sus paréntesis. Si escribieras.map: * * 2en su lugar, los dos puntos se tragarían.grep(* > 10)como parte de los argumentos demap, y la cadena se rompería.