[Rio-pm] Tipagem em Perl

Ole Peter Smith ole.ufg em gmail.com
Quarta Agosto 18 12:07:56 PDT 2010


Concordo com Samir! As outras linguagens que esta baguncados!!! Quanto veja
um $ sei que e escalar, @ e lista, etc.

Outro: posso ter @list ser uma lista, e ao mesmo tempo %list, senda um hash
(array ass), e ate um escalar, por ex $list=\@list. Bacano, pois esses vars
realmente sao relacionados...

Exemplo: (@items uma lista de refs pra ass arrays)

   my %items=();
   foreach my $item (@items)
   {
       my $sortid=$item{ $sort };
       $items{ $sortid.$item->{ "ID" } }=$item;
   }

   my @ritems=();
   foreach my $key (sort keys %items)
   {
       push(@ritems,$items{ $key });
   }

   Agora @ritems estao em ordem alfabetico em resp. da chave $sort. Adicione
$item->{ "ID" }, (se houver um chave ID, pensando nele como unico), pra nao
perder elementos ao fazer o sort.

So tem um 'catch': se quisser pode escrever: @list=%list, pois um hash nada
mais e, que uma lista com um unumero par de elementos; usar com responsa -
quem quisser (nao lembro de nenhum uso construtivo desse ultimo).

Ole
2010/8/18 Samir Cury <eu em samircury.eng.br>

> Maneiro levantar esta questao Tiago,
>
> Falamos um pouco disto no ultimo ES tambem.
>
> E pra mim e o contrario, ate estranho quando vejo essas linguagens
> "baguncadas", onde voce nao bate o olho e sabe com o que esta mexendo, e uma
> vez letrado em Perl, o cara bate o olho no trecho que for, e sabe o que esta
> acontecendo.
>
> Foi curioso ver um ponto exatamente oposto, nao tenho muito a acrescentar,
> tirando que eu que estou acostumado so com Perl e Perl-likes fica muito mais
> intuitivo ver $scalar @array e %hash. Voce de cara sabe do que se trata,
> mesmo que fosse $hash, @scalar e %array
>
> Abracos,
> Samir
>
> 2010/8/18 Tiago Peczenyj <tiago.peczenyj em gmail.com>
>
> Povo.
>>
>> A muito estou acostumado com a sintaxe perl com $ para escalares, @
>> para arrays e % para hashes (e por ai vai), entretanto eu fico curioso
>> pela origem destes simbolos. Em outras linguagens eu posso ter uma
>> variavel de qualquer tipo (como java eu tenho objetos e primitivos, em
>> javascript eu tenho qualquer coisa, em ruby tudo é objeto então não
>> tenho necessidade de especificar este tipo de coisa) sem que o seu
>> nome seja afetado. fico eu pensando então pq em Perl é diferente.
>>
>> Afinal É uma caracteristica interna do interpretador ou Eu tenho estas
>> primitivas e, dessa forma, eu posso prevenir erros ao utilizar um tipo
>> num contexto inadequado e ser facilmente verificavel, por exemplo?
>>
>> Pergunto pq eu ainda vejo isso como ruido na linguagem se comparar com
>> outras que eu uso mais frequentemente. Entretanto como tudo faz parte
>> de um plano... ;-)
>>
>>
>>
>> --
>> Tiago B. Peczenyj
>> Linux User #405772
>>
>> http://pacman.blog.br
>> _______________________________________________
>> Rio-pm mailing list
>> Rio-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/rio-pm
>>
>
>
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 
########################################
Quem Leva Brincadeira somente por Brincadeira
                   E Sério somente Sério
       De Fato Desentendeu Ambos - Piet Hein
########################################
                  Ole Peter Smith, IME, UFG
          http://www.mat.ufg.br - ole at mat.ufg.br
######################################
             Live sure is a Mystery to be Lived
                  Not a Problem to be Solved
######################################
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20100818/9e336990/attachment.html>


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