[Cascavel-pm] Duvida Array

eden edencardim em gmail.com
Sexta Agosto 24 06:42:43 PDT 2007


On 8/24/07, Patty Silva <ptfzs em yahoo.com.br> wrote:
> Foi so um exemplo.. mas eh exatamente o que eu quero
> Quero imprimir so determinadas posicoes do Array :D
> :)
> e aqui
>  my @new = map { $array[$_] } @ARGV;
> eu faco isso..
> se eu entrar com 1 3 4
> ele so vai imprimir os campos 1 3 e 4 do array;.. :D

@new = @array[1, 3, 4]

ou, se preferir:

@indices = (1, 3, 4);
@new = @array[@indices]

Usar slices é bem mais eficiente, sintatica e computacionalmente.

perl -MBenchmark=:all -e '@array = 1..10; cmpthese(10000000, {"slice"
=> sub {@array[1,3,4]}, "map" => sub { map {$array[$_]} 1,3,4}})'

-- 
edenc.vox.com


Mais detalhes sobre a lista de discussão Cascavel-pm