[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