[SP-pm] Ajuda com vetor de 2 dimensões

Renato Santos renato.cron at gmail.com
Tue Dec 7 00:51:52 PST 2010


Amigo,
em perl, seria bem mais interessante você utilizar um HASH (ou como eu sou
viciado, HASHREF)

Hash é uma lista, mas no lugar de indexs, você tem strings.
Por exemplo:
$foo = {
   eu_sou_uma_chave => 'eu_sou_o_valor'
};

Então, voce pode utilizar-se do push de uma array, monta assim, uma array de
hash:

open(my $frases, "set.txt") or die "Nao foi possivel abrir o arquivo: $!";

my @vetor = ();
my $pontuacao=0;


while (my $linha = <$frases>) {
  chomp($linha); # tira o fim de linha
  push(@vetor, {
    linha => $linha,
    num_linha => $.,
    pontuacao => $pontuacao
  }); # se vc nao passar linha, vai pro $_
}

# aqui talvez tenha um codigo que vai mudar a pontuacao, correto? pois a
pontuacao de todos esta zerada!

# e aqui mostra na tela
for my $item (@vetor){
     print "$item->{num_linha}: $item->{linha} - $item->{pontuacao}\n";

}

----------------------------
Minhas considerações:
você não deve sempre ler um arquivo e jogar numa array,
se for fazer isso, você acaba jogando todo o arquivo na memoria, e
se o arquivo tiver uns 100~  300 mb isso não é muito legal!


2010/12/7 Juliana <julianalduque at yahoo.com.br>

> Olá amigos da lista,
>
> Estou com dificuldade em implementar um código utilizando um vetor com 2
> dimensões.
>
> Poderiam me dar uma dica de onde está o erro?
> O código segue abaixo:
>
>
> #abre arquivo de frases, uma frase por linha: frase1: xxxx; frase2: yyyyyy;
> frase3: zzzzz
> open(my $frases, "set.txt") or die "Nao foi possivel abrir o arquivo: $!";
>
>
> my @vetor=$frases;
> my $pontuacao=0;
> my $i=0;
>
> #insiro a frase a pontuacao em um vetor de duas dimensoes: posicao frase e
> posicao pontuacao
> while (<$frases>) {
> $vetor[$i] = [$frases, $pontuacao];
> $i++;
> }
>
> #imprimir todas as frases seguido de sua pontuacao : print $vetor->[$i],
> "=", $vetor->[$i], "\n"; ????
> for my $vetor (@vetor){
> print $vetor->[0], "=", $vetor->[1], "\n";
>
> }
>
> Aguardo contato.
>
> Obrigada!
>
> Abraços
> Juliana
>
>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm at pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Renato Santos
http://www.renatocron.com/blog/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20101207/1f07464b/attachment.html>


More information about the SaoPaulo-pm mailing list