<div>Boa noite!</div><div><br></div><div><br></div><div>Estou fazendo uma pesquisa sobre validação de parâmetros em métodos, para módulos que utilizam Moose. Encontrei a seguinte solução abaixo:</div><div><br></div><div><br>
</div><div><br></div><div><a href="http://search.cpan.org/~drolsky/MooseX-Params-Validate-0.16/lib/MooseX/Params/Validate.pm">http://search.cpan.org/~drolsky/MooseX-Params-Validate-0.16/lib/MooseX/Params/Validate.pm</a></div>
<div><br></div><div><br></div><div><br></div><div>No entanto, tem um detalhe que eu não compreendi. Porque eu preciso passar \@_ para o método 'validated_list' ?</div><div><br></div><div>Dei uma olhada no código, e vi que ele utiliza o primeiro parâmetro que é chamado de '$args' dentro do método e existe um algoritmo que faz uma série de verificações nessa variável e depois envia para validate_with, através do módulo Params::Validate. Lá descobri que 'validate_with' é um 'símbolo' que é interpretado como uma sub por um outro método, enfim... Tem alguém por aqui capaz de me ajudar a entender esta "bagunça" e, principalmente, porque do \@_ ?? </div>
<div><br></div><div><br></div><div>OBS: Antes de qualquer troll me interpretar mal, repare que coloquei 'bagunça' entre aspas, o que significa que não acho que isso realmente seja uma bagunça. Por favor, evitem comentários inúteis em cima disso! Já me considero velho e sem saco pra flames...  ;-)</div>
<div><br></div><div><br></div><div>Obrigado!</div><div><br></div><div><br></div><br clear="all"><div><br></div>-- <br>André Garcia Carneiro<br>Software Engineer<br>(11)982907780<br>