A veces empiezo a escribir una cadena de llamadas a métodos en Perl 6 REPL, como:
".".IO.dir.grep(...).map(...).
... y luego me doy cuenta de que lo que quiero hacer con la lista final es imprimir cada elemento en su propia línea. Esperaría que las secuencias tengan algo así como un each
método para poder terminar la cadena .each(*.say)
, pero no hay un método como ese que pueda encontrar. En cambio, tengo que volver al comienzo de la línea y anteponer .say for
. Parece que rompe el flujo de mis pensamientos.
Es una molestia menor, pero me parece una omisión tan evidente que me pregunto si me estoy perdiendo alguna alternativa fácil. Los únicos en los que puedo pensar son ».say
y .join("\n").say
, pero el primero puede operar en los elementos fuera de orden (si lo entiendo correctamente) y el segundo construye una sola cadena que podría ser problemáticamente grande, dependiendo de la lista de entrada.
True
valores de la misma longitud que la lista de entrada. No es ideal.".".IO.dir.grep(*.contains("e")).map(*.uc).map: {.say; Empty}
hará lo mismo, pero solo mencionará una lista vacía en la REPLtell
al archivo de salida antes y después del comando y los compara, creo? entonces algo podría estar yendo mal con esa lógica.Puedes rodar el tuyo.
Si le gusta esto, está su oportunidad de primer módulo CPAN allí mismo.
fuente
.&each()
, en caso de que no quieran confundirse con el aumento..&each()
formato viene con desventajas, como la obligación de seguir una sola línea (o usar bastante difícil de manejar por\
todas partes).