Quiero aplicar una función a cada elemento de una lista y almacenar resultados similares a map(function, list)
en python.¿Cómo puedo aplicar una función a una lista usando el mapa?
trató de pasar de una función a mapear, pero tiene este error:
perl -le 'my $s = sub {}; @r = map $s 0..9'
panic: ck_grep at -e line 1.
¿Cuál es la forma correcta de hacer esto?
agradable respuesta, también observamos que en el bloque de mapa, a diferencia de la mayoría de los otros bloques, puede instalar _No_ pragmas léxicas o realizar otras acciones en tiempo de compilación ('uso ... '/' no ... '). –
Puede usar * use * y * no * en * map BLOCK LIST * formas de * map *, no en * map EXPR LIST * formularios, es solo que si los usa puede necesitar desambiguar el bloque de una expresión con un líder; Alternativamente, puede usar * do BLOCK * como expresión, y puede contener * no * y * use *. usar estricto; mi @ a = 1..10; my @b = map {; no estrictos 'vars'; $ x = $ _ + 1; $ x} @a; my @c = map {do {no strict 'vars'; $ x = $ _ + 1; $ x}} @a; – MkV
También vale la pena señalar que el * $ _ * en el ciclo es un alias para los elementos del conjunto, por lo que modificarlo modifica el conjunto de origen, que no se recomienda para el código claro. – MkV