Eu sei. Mas fui fazer um programa pra minha empresa em perl, ai minha esposa
diz quero interface e pra windows, ai eu usei TK, ai ela disse quero algo
bunitinho, ai aprendi delphi, ai começo da bug pra tudo que e lado, ai usei
VB.net, ai fico pior, ai disse:"vamos comprar um pronto". E viveram infelizes
para sempre.
Renato Santos <renato.c...@gmail.com> escreveu:
** 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