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

Renato Santos renato.cron at gmail.com
Wed Dec 8 08:25:03 PST 2010


Agora no PC !! (no windows, programando C# :O )
*use strict;
use warnings;
use utf8;
open(my $fh, '<:encoding(utf8)', 'frases.txt') or die("Error $!");*
*
my $linha_anterior = undef;*
*my @array = ();
while (my $linha = <$fh>){

    my ($frase, $pontuacao) = ($linha =~ /([^\:]+)\s*\:\s*(\d+)/o);
    *
*    my $linha_atual = {*
*         linha => $frase,*
*         pontos => $pontuacao*
*    };*
*    if ($frase =~ /algo muito doido/){*
*        $linha_anterior->{pontos} += 123;*
*    }*
*    $linha_anterior = $linha_atual;*
*
*
*    push(@array, $linha_atual);*
*
    # voce poderia fazer um push numa array com duas dimensoes:
    # push(@array_com_as_linhas, [$frase, $pontuacao])
    # ou montra um HASH e jogar numa array:
    # push(@array_com_os_hashs, {frase => $frase, pontuacao => $pontuacao});
    # ou printar aqui mesmo:
    # print "'$frase' tem $pontuacao pontos\n";
    # pois nao ha processamento neles.
}

close($fh);*
*#fecha  o arquivo*
*# abre um novo*
*# escreve de novo do jeito que voce quer.*
*
*
***
*
2010/12/8 Solli Honorio <shonorio at gmail.com>

>
>
> 2010/12/8 Renato Santos <renato.cron at gmail.com>
>
> Juliana, nao entredi quase nada!
>>
>> Eu prefiro usar hasH, pois fica mais claro pra ler o código.
>>
>> todavia, vou tentar explicar uma gambi q eu faço:
>> Sempre q vou mudar alguma coisa na próxima linha, uso a ref da linha
>> anterior.
>>
>> My $ref;
>> While ... {
>> $new = {linha ..., pontos => 0};
>> Push(@array, $new);
>>
>> $ref->{pontos}++;
>> $ref = $new;
>>
>> };
>>
>> ...
>> To no almoço, duvidas grita aí
>>
>
> Putz, agora eu não entendi o que a Juliana quer fazer e nem o que vc quis
> fazer !!!
>
>
>
>>  Em dez 8, 2010 1:00 PM, "Juliana" <julianalduque at yahoo.com.br>escreveu:
>>
>> Olá amigos,
>>
>> Agradeço a todos pela resposta.
>>
>>
>> Renato, se eu utilizar o push de uma array conforme o código abaixo, da
>> forma que está eu consigo alterar a pontuação de um frase dinamicamente? Por
>> exemplo...
>>
>> Após eu colocar todas as frases e suas respectivas pontuações (que no
>> início estarão todas com as pontuações zeradas), farei o seguinte:
>>
>> Minha frase (minha linha) que casar com minha expressão regular, irei
>> chamá-lo de minha linha atual, e irei verificar a linha anterior (linhaatual
>> -1) e posterior (linhaatual +1) para casar com outra expressão regular, que
>> dependendo de cada regr, e esta pontuação poderá ser alterada, quando a
>> frase for comparada com outras 2 frases (anterior e posterior a ela).
>>
>> Dessa forma que está (utilizando hash) eu consigo fazer isso
>> posteriormente?
>>
>> Ah! E este arquivo de frases não chega a 1MB.
>>
>> Obrigada
>>
>> Juliana
>>
>>
>>
>> --- Em *ter, 7/12/10, Renato Santos <renato.cron at gmail.com>* escreveu:
>>
>>
>> De: Renato Santos <renato.cron at gmail.com>
>> Assunto: Re: [SP-pm] Ajuda com vetor de 2 dimensões
>> Para: saopaulo-pm at mail.pm.org
>> Data: Terça-feira, 7 de Dezembro de 2010, 6:51
>>
>> > > Amigo, > em perl, seria bem mais interessante você utilizar um HASH
>> (ou como eu sou viciado, HA...
>> -----Anexo incorporado-----
>>
>> > > _______________________________________________ > SaoPaulo-pm mailing
>> list > SaoPaulo-pm at pm.org...
>>
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>>
>> _______________________________________________
>> SaoPaulo-pm mailing list
>> SaoPaulo-pm at pm.org
>> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>>
>
>
>
> --
> "o animal satisfeito dorme". - Guimarães Rosa
>
> _______________________________________________
> 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/20101208/3f0bae97/attachment.html>


More information about the SaoPaulo-pm mailing list