[Rio-pm] [Fun - passa tempo] Cifra de Vigenère

Tiago Peczenyj tiago.peczenyj em gmail.com
Domingo Novembro 10 16:22:14 PST 2013


sim pq este erro vem do fato que este atributo é requerido

se vc quer dar uma mensagem mais bonitinha pro usuario, valide os imputs no
seu script antes de instanciar a classe. assim vc separa as coisas :)


2013/11/10 Aureliano Guedes <guedes_1000 em hotmail.com>

> Bom, usei o Moose como recomendou, mais pratico.
> Quanto ao if, realmente foi falta de atenção, deveria ser um && no lugar
> da virgula.
>
> Mas o erro que retorna é
> Attribute (key) is required at C:/Perl/site/lib/Moose/Meta/Attribute.pm
> line 519
>
> Por algum motivo, é como se não fosse atribuido valor algum a key.
>
> Quanto ao metodo BUILD é que como ja tinha o codigo quase pronto fiquei
> com preguissa de usar para validar, mas vou mudar para que word e key
> tenham o mesmo tamanho sempre.
>
>
>
> ------------------------------
> From: tiago.peczenyj em gmail.com
> Date: Sun, 10 Nov 2013 21:00:04 -0200
> To: rio-pm em pm.org
>
> Subject: Re: [Rio-pm] [Fun - passa tempo] Cifra de Vigenère
>
> Aureliano
>
> com Moose vc pode marcar um atributo como required. assim se alguem
> esquecer ele na hora de inicializar a classe haverá uma mensagem de erro.
>
> has 'word' =>(
>                 is => 'rw',
>                 isa => 'Str',
>                 required => 1,
> );
>
> melhor do que utilizar 'default' para validação. eu uso MUITO o default
> mas justamente para inicializar o que eu preciso.
>
> alias se vc precisa validar o tamanho da chave e do texto, vc poderia
> utilizar BUILD para isso.
>
> http://search.cpan.org/dist/Moose/lib/Moose/Manual/Construction.pod
>
> agora o que vc quer dizer com isso?
>
> if (isalpha($word[$a]), isalpha($key[$a])){
>
> o que é um if com virgula?
>
>
> 2013/11/10 Aureliano Guedes <guedes_1000 em hotmail.com>
>
> Bom, fiz as mudanças aconselhadas e mais outras,
> ainda transformei em uma classe.
>
> Vigenere.pm-> http://pastebin.com/aL4brPZx
> Script teste -> http://pastebin.com/nbuqPqUr
>
> Ou-> https://www.dropbox.com/sh/4diypsz4y2puvxq/t0HuRZLvZW/Vigenere_Perl
>
> Por algum motivo tem alguma coisa dando errado com o Moose, ainda não
> identifiquei, alguém ai sabe o que poderia ser??
> ------------------------------
> From: nuba em fastmail.fm
> To: rio-pm em pm.org
> Date: Sun, 10 Nov 2013 04:16:56 -0200
> Subject: Re: [Rio-pm] [Fun - passa tempo] Cifra de Vigenère
>
>
>
>
>
> On Sun, Nov 10, 2013, at 01:13 AM, Tiago Peczenyj wrote:
>
> 3- use map :)
>
> ao inves de
>
>         my @b = split (//, $c);
>         for (my $i = 0; $i < @b; $i++){
>                 $b[$i] = ord $b[$i];
>         }
>
> podes fazer
>
> return map { ord } split //, $c;
>
>
> quer enxugar mais uma gota? faz
>
> map ord, split //, $c;
>
> :)
>
> --
> Nuba R. Princigalli nuba em pauleira.com http://pauleira.com @nprincigalli
> Discipline is not an end in itself, just a means to an end. - King Crimson
>
>
> _______________________________________________ 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
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> _______________________________________________ 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
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20131110/c3355094/attachment.html>


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