Boas praticas com Delphi é ruim heim hahaha
*Daniel Vinciguerra (@dvinciguerra)* Web solution architect, perl dev, vegetarian, geek and founder at *Bivee* bivee.com.br - github.com/Bivee 2014-04-29 20:11 GMT-03:00 Renato Santos <renato.c...@gmail.com>: > ** FLAME WARRRRRR*** > C++ e Delphi ? > > linus torvalds discorda disso! > > http://article.gmane.org/gmane.comp.version-control.git/57918 > > > > > 2014-04-29 20:02 GMT-03:00 Aureliano Guedes <guedes_1...@hotmail.com>: > > >ter Perl como primeira linguagem >> Esse foi meu feliz erro. >> Sofro com alguns problemas de boas praticas mas em questão de logica pura >> eu m dou bem. >> Eu diria que quem quer aprender logica deveria aprender Perl. >> Agora aprendi C VB.net e mais recentemente C++ e Delphi pra tentar >> aprender boas praticas. >> >> >> >> Blabos de Blebe <bla...@gmail.com> escreveu: >> >> Mas ok, não é uma boa prática... >> >> >> 2014-04-29 19:15 GMT-03:00 Blabos de Blebe <bla...@gmail.com>: >> >> > café deve ser 'duro' >> >> TimToady!!! >> >> >> 2014-04-29 19:12 GMT-03:00 Renato Santos <renato.c...@gmail.com>: >> >> Cara, café não se pode ferver! seu café deve ser 'duro' >> >> >> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe <bla...@gmail.com>: >> >> Enquanto meu café ferve, aqui vale uma reflexão: >> >> "Boas práticas" é um conceito flutuante. >> >> Perl é uma linguagem extremamente rica e se desenvolvimento bastante >> dinâmico. O que era boa prática quando eu aprendi, já não é boa prática >> hoje. As coisas mudam. >> >> http://perldoc.perl.org/perlhist.html >> >> Embora muita gente fale que Perl é pré-histórico, a versão mais atual >> foi lançada em janeiro. Se você bobear, você que fica pré-histórico. >> >> []'s >> >> >> >> >> 2014-04-29 18:52 GMT-03:00 Blabos de Blebe <bla...@gmail.com>: >> >> Pacman, copião :) >> >> >> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe <bla...@gmail.com>: >> >> > que Modulo::funcao dispensa declarar o construtor. >> >> Não dispensa. Não tem nada a ver. Não misture as coisas. >> >> Construtor é um conceito associado a um método especial utilizado para >> inicializar objetos, ou seja, quando você está utilizando uma interface >> orientada a objetos. >> >> Em C++, o Construtor tem que ser um método cujo nome é o nome da classe. >> >> Em Python é outro padrão. >> >> Em Perl isso é livre, um construtor, ou seja um inicializador de >> objetos pode ser qualquer método que eventualmente invoque a sub bless(). >> >> http://perldoc.perl.org/functions/bless.html >> >> Em Perl convencionamos, pra ninguém ficar louco, que o construtor >> chama-se new. Mas não existe palavra reservada ou obrigatoriedade nisso. >> >> Modulo::funcao() é uma chamada 'procedural' aplicando o namespace >> completo FQN. Não tem nada a ver com objetos, ou construtores. >> >> *** >> >> No seu caso, como bem observado pelo Junior, o que você quer é não ter >> que passar o namespace completo, por isso o uso do Exporter, que nada mais >> faz do que tornar a sua função conhecida no namespace atual. >> >> Exporter também não tem nada a ver com objetos. >> >> A boa prática é usar @EXPORT_OK pra não exportar todos os símbolos por >> default. Nesse caso, ao usar o seu módulo você precisa fazer: >> >> use Modulo qw{ funcao }; >> >> Aqui, "boa prática" significa basicamente, "vou tormar o cuidado de >> exportar apenas o necessário pra não correr risco de dar conflito com outra >> função de mesmo nome de outro módulo". >> >> Mas é só uma politica de boa vizinhança, não quer dizer, >> necessariamente, errado. Depende do seu contexto. >> >> *** >> >> Como em Perl as coisas são mais livres, você vai ver casos de um >> package que tem construtor, métodos *E* funções comuns, ou seja, tanto uma >> interface OO quanto procedural. Exemplo: >> https://metacpan.org/pod/String::Trigram >> >> Antigamente, quando OO era 'novidade', o pessoal costumava publicar uma >> interface OO *E* uma interface procedural, pra ficar ao gosto do cliente >> escolher. Outro exemplo: https://metacpan.org/pod/CGI >> >> Por essas e outras, *EU*, acho meio confuso ter Perl como primeira >> linguagem, pois ela te dar liberdades que em não tendo todos os conceitos >> bem sedimentados, *pode* confundir. >> >> O importante é, em estar estudando, não parar no estágio "ah consegui >> fazer" mas sim prosseguir pelo menos até o "ah, entendi como funciona". >> >> []'s >> >> >> >> >> 2014-04-29 18:32 GMT-03:00 Aureliano Guedes <guedes_1...@hotmail.com>: >> >> Funcionou da forma que o Junior passou. >> >> Obrigado. >> >> Experimentei fazer o dumper como o Bablos falou. Realmente são formas >> diferentes, sendo que Modulo::funcao dispensa declarar o construtor. >> >> ------------------------------ >> From: juniiior...@gmail.com >> Date: Tue, 29 Apr 2014 18:15:00 -0300 >> >> To: rio-pm@pm.org >> Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor >> >> Hi. >> >> Em 29 de abril de 2014 18:07, Blabos de Blebe <bla...@gmail.com>escreveu: >> >> Só mais uma coisa, >> >> Isso não tem nada a ver com Exporter. >> >> []'s >> >> >> Eu acho que ele tá perguntando mesmo como exportar uma sub e torná-la >> possível ser chamada à partir de outro script bastando dar um use no >> módulo, e não como invocar um método estaticamente como eu pensei. >> >> Creio que o jeito mais roots seria: >> >> >> >> >> >> >> >> >> *package Modulo::Modulo; use vars qw(@ISA @EXPORT); @ISA = >> (qw(Exporter)); @EXPORT = qw(acp); sub acp {* >> >> *... * >> *}* >> 1; >> >> Deste modo, Aureliano, bastará dar um *use* em Modulo::Modulo e a >> função acp() estará acessível, assim como no Math::Prime::Util. >> >> []'s >> >> _______________________________________________ >> >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> _______________________________________________ Rio-pm mailing list >> Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> >> -- >> Saravá, >> Renato CRON >> http://www.renatocron.com/blog/ >> @renato_cron <http://twitter.com/#!/renato_cron> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> >> >> >> >> _______________________________________________ >> Rio-pm mailing list >> Rio-pm@pm.org >> http://mail.pm.org/mailman/listinfo/rio-pm >> > > > > -- > Saravá, > Renato CRON > http://www.renatocron.com/blog/ > @renato_cron <http://twitter.com/#!/renato_cron> > > _______________________________________________ > Rio-pm mailing list > Rio-pm@pm.org > http://mail.pm.org/mailman/listinfo/rio-pm >
_______________________________________________ Rio-pm mailing list Rio-pm@pm.org http://mail.pm.org/mailman/listinfo/rio-pm