[SP-pm] Packing!

Henrique Rennó henrique.renno em gmail.com
Terça Abril 24 16:28:52 PDT 2007


Fala Fred!

Acho que em perl não existe uma forma de declarar matrizes de duas
dimensões. Para acessar elementos na forma matrix[i][j] fiz um array de
referências e funciona.

my @matrix;
my $valor = 88;
for $i (0 .. rows-1)
{
my @tmp;
for $j (0 .. cols-1)
{
push @tmp, $valor;
}
push @matrix, [@tmp];
}

Depois para acessar os elementos seria $matrix[$i][$j]. Há muito tempo
sempre fiz dessa forma mas hoje tive a curiosidade de saber o que o pack()
faria com esse array de arrays de floats.

Queria saber se o pack() foi feito para receber uma matriz (o array de
referências) e concatenar os valores (de cada array apontado por cada
referência), mas acho que não faz não. Ele deve acessar os valores das
referências. Passando a formatação "f" seria como uma conversão de endereço
de memória para float.

Será que tem alguma forma de fazer um pack() de matriz direto sem iterar???

On 4/24/07, Frederico Recsky <frederico em gmail.com> wrote:
>
> Olá!
>
> On 4/24/07, Henrique Rennó <henrique.renno em gmail.com> wrote:
> > Olá!
> >
> > Gostaria de saber como usar a função pack() para agregar um array de
> arrays
> > de floats.
>
> (un)pack retorna um escalar, voce ia ter que iterar para isso.
>
> Agora eu não entendi o que voce quis dizer com agregar array de arrays
> de floats :) . Manda um exemplo.
>
> --
> ____________________________
> Frederico Recsky
> Linux User: 253572
> http://www.fre.eti.br
> http://sao-paulo.pm.org/
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Henrique
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20070424/3cc09ef7/attachment.html 


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