Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico breno
2014-04-29 19:15 GMT-03:00 Blabos de Blebe :
>> café deve ser 'duro'
>
> TimToady!!!
>

TimToddy!! \o/


___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm


Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
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 :
>>>
>>>  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 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
>



--
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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
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 :
>>>
>>>  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 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
>



--
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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Renato Santos
http://i.imgur.com/8iUZEZt.png
só pela zuera!


2014-04-29 20:25 GMT-03:00 Daniel Vinciguerra :

> 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 :
>
> ** FLAME WARR***
>> 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 :
>>
>>  >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  escreveu:
>>>
>>>  Mas ok, não é uma boa prática...
>>>
>>>
>>> 2014-04-29 19:15 GMT-03:00 Blabos de Blebe :
>>>
>>> > café deve ser 'duro'
>>>
>>>  TimToady!!!
>>>
>>>
>>> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>>>
>>>  Cara, café não se pode ferver! seu café deve ser 'duro'
>>>
>>>
>>> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>>>
>>>  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 :
>>>
>>>  Pacman, copião :)
>>>
>>>
>>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>>
>>>  > 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
>

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Daniel Vinciguerra
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 :

> ** FLAME WARR***
> 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 :
>
>  >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  escreveu:
>>
>>  Mas ok, não é uma boa prática...
>>
>>
>> 2014-04-29 19:15 GMT-03:00 Blabos de Blebe :
>>
>> > café deve ser 'duro'
>>
>>  TimToady!!!
>>
>>
>> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>>
>>  Cara, café não se pode ferver! seu café deve ser 'duro'
>>
>>
>> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>>
>>  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 :
>>
>>  Pacman, copião :)
>>
>>
>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>
>>  > 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 &qu

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
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  escreveu:

** FLAME WARR***
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 :

>  >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  escreveu:
>
>  Mas ok, não é uma boa prática...
>
>
> 2014-04-29 19:15 GMT-03:00 Blabos de Blebe :
>
> > café deve ser 'duro'
>
>  TimToady!!!
>
>
> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>
>  Cara, café não se pode ferver! seu café deve ser 'duro'
>
>
> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>
>  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 :
>
>  Pacman, copião :)
>
>
> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>
>  > 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 :
>
>  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.
>
>  ---

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Renato Santos
** FLAME WARR***
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 :

>  >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  escreveu:
>
>  Mas ok, não é uma boa prática...
>
>
> 2014-04-29 19:15 GMT-03:00 Blabos de Blebe :
>
> > café deve ser 'duro'
>
>  TimToady!!!
>
>
> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>
>  Cara, café não se pode ferver! seu café deve ser 'duro'
>
>
> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>
>  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 :
>
>  Pacman, copião :)
>
>
> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>
>  > 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 :
>
>  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  escreveu:
>
> Só mais uma coisa,
>
>  Isso não tem nada a ver com Exporter.

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Junior Moraes
Hi.

Em 29 de abril de 2014 18:35, Blabos de Blebe  escreveu:
>
>
> Junior, a forma que você sugeriu é um dialeto mais antigo. Hoje em dia (e
> desde a época do Perl Best Practices, pg 407), o recomendado é herdar do
> módulo Exporter, e utilizar o @EXPORT_OK ao invés do @EXPORT diretamente.
>

Yep, eu estava ciente!
Por isso me referi ao *use vars* como a maneira mais 'roots'. Era a única
que eu sabia que não daria problema de compatibilidade com nenhuma versão
do Perl. :P

[]'s
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
>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  escreveu:

Mas ok, não é uma boa prática...


2014-04-29 19:15 GMT-03:00 Blabos de Blebe :

> > café deve ser 'duro'
>
> TimToady!!!
>
>
> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>
> Cara, café não se pode ferver! seu café deve ser 'duro'
>>
>>
>> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>>
>> 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 :
>>>
>>> Pacman, copião :)
>>>>
>>>>
>>>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>>>
>>>> > 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
>>>&

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
Mas ok, não é uma boa prática...


2014-04-29 19:15 GMT-03:00 Blabos de Blebe :

> > café deve ser 'duro'
>
> TimToady!!!
>
>
> 2014-04-29 19:12 GMT-03:00 Renato Santos :
>
> Cara, café não se pode ferver! seu café deve ser 'duro'
>>
>>
>> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>>
>> 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 :
>>>
>>> Pacman, copião :)
>>>>
>>>>
>>>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>>>
>>>> > 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
>>>>>
>>>>>
>>

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
> café deve ser 'duro'

TimToady!!!


2014-04-29 19:12 GMT-03:00 Renato Santos :

> Cara, café não se pode ferver! seu café deve ser 'duro'
>
>
> 2014-04-29 19:01 GMT-03:00 Blabos de Blebe :
>
> 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 :
>>
>> Pacman, copião :)
>>>
>>>
>>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>>
>>> > 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 :
>>>>
>>>>  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.
>>>>>
>>>>>

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Renato Santos
Cara, café não se pode ferver! seu café deve ser 'duro'


2014-04-29 19:01 GMT-03:00 Blabos de Blebe :

> 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 :
>
> Pacman, copião :)
>>
>>
>> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>>
>> > 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 :
>>>
>>>  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 escreveu:
>>>>
>>>> Só mais uma coisa,
>>>>
>>>> Isso não tem nada a ver com Exporter.
>>>>
>>>> []'s
>>>&

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
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 :

> Pacman, copião :)
>
>
> 2014-04-29 18:50 GMT-03:00 Blabos de Blebe :
>
> > 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 :
>>
>>  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 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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
Pacman, copião :)


2014-04-29 18:50 GMT-03:00 Blabos de Blebe :

> > 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 :
>
>  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 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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
> 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 :

> 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  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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Tiago Peczenyj
não é 'dispensa declarar o construtor'. não tem nada haver uma coisa com a
outra.

Modulo::função, vc esta acessando uma função no 'namespace' ou 'package'
Modulo

Modulo->funcao vc esta acessando usando um syntax sugar pra emular um
'metodo estático', passando o nome do modulo, por exemplo.

$objeto->função vc esta invocando um metodo em uma referencia abençoada ( e
a função pode nem existir ).

vc pode ter um Modulo::funcao que atue como um construtor!


2014-04-29 18:32 GMT-03:00 Aureliano Guedes :

> 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  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
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
Opa,

Junior, a forma que você sugeriu é um dialeto mais antigo. Hoje em dia (e
desde a época do Perl Best Practices, pg 407), o recomendado é herdar do
módulo Exporter, e utilizar o @EXPORT_OK ao invés do @EXPORT diretamente.

Eu vou ficar devendo todas as referências mas vou deixar a do MPB:
http://modernperlbooks.com/books/modern_perl_2014/09-managing-perl-programs.html

O mais atual seria algo como:

package Foo;

use base 'Exporter'; ## Ou use parent, dependendo da versão do Perl

our @EXPORT_OK = qw{ func1 func2 };

sub func1 {}

...

1;

[]'s




2014-04-29 18:15 GMT-03:00 Junior Moraes :

> Hi.
>
> Em 29 de abril de 2014 18:07, Blabos de Blebe  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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
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  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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Junior Moraes
Hi.

Em 29 de abril de 2014 18:07, Blabos de Blebe  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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
Só mais uma coisa,

Isso não tem nada a ver com Exporter.

[]'s


2014-04-29 18:06 GMT-03:00 Blabos de Blebe :

> Opa,
>
> A expressão:
>
> Modulo::funcao( arg1, arg2 );
>
> Significa:
>
> Invoque a função 'funcao' do módulo 'Modulo', passando como argumentos
> 'arg1', 'arg1' *E* especificando o namespace completo.
>
> Dentro da sub 'funcao' se você fizer algo como:
>
> sub funcao {
>   use Data::Dumper;
>   warn Dumper \@_
> }
>
> Vai ver que só existem dois argumentos, 'arg1' e 'arg2', respectivamente.
>
> O que é ligeiramente diferente de:
>
> Modulo->funcao(arg1, arg2);
>
> Isso significa, invoque a função 'funcao' do módulo 'Modulo', passando
> 'arg1' e 'arg2', *MAS*, passe *implicitamente* o nome da "classe" (no caso
> 'Modulo') como primeiro argumento.
>
> Assim, se você observar o resultado do Dumper, no mesmo código vai ver que
> agora há *TRÊS* argumentos, e não dois.
>
> É por isso que existem documentações antigas, onde a invocação do
> 'construtor' (que convencionamos se chamar new()) pode ser feita assim:
>
> my $obj = new Modulo;
>
> Vejam, portanto, que são equivalentes sintaticamente:
>
> my $obj = new Modulo;
> my $obj = Modulo->new;
>
> Exemplo do caso do Aureliano:
>
> https://metacpan.org/pod/File::Spec
>
> Exemplo de documentação com a forma menos idiomática:
>
> https://metacpan.org/pod/String::Trigram
>
> []'s
>
>
>
>
> 2014-04-29 17:43 GMT-03:00 Tiago Peczenyj :
>
> isto é uma subrotina exportada
>>
>> onde vc viu
>>
>> my $p;
>>
>> $p->algumacoisa;
>>
>> ?
>>
>>
>> 2014-04-29 17:40 GMT-03:00 Aureliano Guedes :
>>
>> #!/usr/bin/perl
>>>
>>> use strict;
>>> use warnings;
>>> use Math::Prime::Util ':all';
>>>
>>> print "ok" if (is_prime($ARGV[0]));
>>>
>>> --
>>> From: tiago.pecze...@gmail.com
>>> Date: Tue, 29 Apr 2014 17:36:23 -0300
>>> To: rio-pm@pm.org
>>> Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor
>>>
>>>
>>> de exemplos.
>>>
>>>
>>>
>>>
>>> 2014-04-29 17:34 GMT-03:00 Aureliano Guedes :
>>>
>>> Ola monges,
>>>
>>> Tenho uma pequena dúvida.
>>> Quando vamos usar uma função(sub-rotina) de um módulo fazemos na maioria
>>> das vezes o seguinte:
>>>
>>> use Modulo::Modulo;
>>>
>>> my $p = Modulo::Modulo->new();
>>> $p->funcao();
>>> 
>>>
>>> isso porque no modulo tem um contrutor ou foi gerado de presente ao
>>> autor quando usado o Moose ou semelhante.
>>>
>>> A questão é que alguns poucos módulos permitem que seja feito diretamente
>>>
>>> use Modulo::Modulo;
>>>
>>> my $p;
>>> $p->funcao();
>>> 
>>>
>>> A dúvida é: como o autor do módulo faz para que permita fazer a chamada
>>> das funções sem precisar disso:
>>> my $p = Modulo::Modulo->new();
>>>
>>> ___
>>> Rio-pm mailing list
>>> Rio-pm@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@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
>>>
>>
>>
>>
>> --
>> Tiago B. Peczenyj
>> Linux User #405772
>>
>> http://about.me/peczenyj
>>
>> ___
>> 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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Blabos de Blebe
Opa,

A expressão:

Modulo::funcao( arg1, arg2 );

Significa:

Invoque a função 'funcao' do módulo 'Modulo', passando como argumentos
'arg1', 'arg1' *E* especificando o namespace completo.

Dentro da sub 'funcao' se você fizer algo como:

sub funcao {
  use Data::Dumper;
  warn Dumper \@_
}

Vai ver que só existem dois argumentos, 'arg1' e 'arg2', respectivamente.

O que é ligeiramente diferente de:

Modulo->funcao(arg1, arg2);

Isso significa, invoque a função 'funcao' do módulo 'Modulo', passando
'arg1' e 'arg2', *MAS*, passe *implicitamente* o nome da "classe" (no caso
'Modulo') como primeiro argumento.

Assim, se você observar o resultado do Dumper, no mesmo código vai ver que
agora há *TRÊS* argumentos, e não dois.

É por isso que existem documentações antigas, onde a invocação do
'construtor' (que convencionamos se chamar new()) pode ser feita assim:

my $obj = new Modulo;

Vejam, portanto, que são equivalentes sintaticamente:

my $obj = new Modulo;
my $obj = Modulo->new;

Exemplo do caso do Aureliano:

https://metacpan.org/pod/File::Spec

Exemplo de documentação com a forma menos idiomática:

https://metacpan.org/pod/String::Trigram

[]'s




2014-04-29 17:43 GMT-03:00 Tiago Peczenyj :

> isto é uma subrotina exportada
>
> onde vc viu
>
> my $p;
>
> $p->algumacoisa;
>
> ?
>
>
> 2014-04-29 17:40 GMT-03:00 Aureliano Guedes :
>
> #!/usr/bin/perl
>>
>> use strict;
>> use warnings;
>> use Math::Prime::Util ':all';
>>
>> print "ok" if (is_prime($ARGV[0]));
>>
>> --
>> From: tiago.pecze...@gmail.com
>> Date: Tue, 29 Apr 2014 17:36:23 -0300
>> To: rio-pm@pm.org
>> Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor
>>
>>
>> de exemplos.
>>
>>
>>
>>
>> 2014-04-29 17:34 GMT-03:00 Aureliano Guedes :
>>
>> Ola monges,
>>
>> Tenho uma pequena dúvida.
>> Quando vamos usar uma função(sub-rotina) de um módulo fazemos na maioria
>> das vezes o seguinte:
>>
>> use Modulo::Modulo;
>>
>> my $p = Modulo::Modulo->new();
>> $p->funcao();
>> 
>>
>> isso porque no modulo tem um contrutor ou foi gerado de presente ao autor
>> quando usado o Moose ou semelhante.
>>
>> A questão é que alguns poucos módulos permitem que seja feito diretamente
>>
>> use Modulo::Modulo;
>>
>> my $p;
>> $p->funcao();
>> 
>>
>> A dúvida é: como o autor do módulo faz para que permita fazer a chamada
>> das funções sem precisar disso:
>> my $p = Modulo::Modulo->new();
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@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@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
>>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> ___
> 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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Tiago Peczenyj
ok

tem uma biblioteca chamada 'autobox' que pode fazer umas bruxarias. achei
que poderia ser o caso


2014-04-29 17:57 GMT-03:00 Aureliano Guedes :

> Errei nesse exemplo, seria my $p = algumacoisa();
>
> Mas ok, o Junior falou do 'Exporter', então o que eu to tentando fazer é:
> package Palindrome;
> use strict;
> use Exporter 'import';
> @EXPORT_OK =  qw(is_palindrome);
> sub is_palindrome {
> return 1 if ($_[0] == reverse $_[0]);
> }
> 1;
>
> mas quando tento
>
> use Palindrome 'all';
> print "ok" if (is_palindrome($ARGV[0]));
>
> e executo na shell 'perl exemplo.pl 111' ou qualquer outro número
> palíndromo ou não, não imprime "ok", apesar de não gerar nenhuma mensagem
> de erro.
>
> ------------------
> From: tiago.pecze...@gmail.com
> Date: Tue, 29 Apr 2014 17:43:22 -0300
>
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor
>
> isto é uma subrotina exportada
>
> onde vc viu
>
> my $p;
>
> $p->algumacoisa;
>
> ?
>
>
> 2014-04-29 17:40 GMT-03:00 Aureliano Guedes :
>
> #!/usr/bin/perl
>
> use strict;
> use warnings;
> use Math::Prime::Util ':all';
>
> print "ok" if (is_prime($ARGV[0]));
>
> --
> From: tiago.pecze...@gmail.com
> Date: Tue, 29 Apr 2014 17:36:23 -0300
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor
>
>
> de exemplos.
>
>
>
>
> 2014-04-29 17:34 GMT-03:00 Aureliano Guedes :
>
> Ola monges,
>
> Tenho uma pequena dúvida.
> Quando vamos usar uma função(sub-rotina) de um módulo fazemos na maioria
> das vezes o seguinte:
>
> use Modulo::Modulo;
>
> my $p = Modulo::Modulo->new();
> $p->funcao();
> 
>
> isso porque no modulo tem um contrutor ou foi gerado de presente ao autor
> quando usado o Moose ou semelhante.
>
> A questão é que alguns poucos módulos permitem que seja feito diretamente
>
> use Modulo::Modulo;
>
> my $p;
> $p->funcao();
> 
>
> A dúvida é: como o autor do módulo faz para que permita fazer a chamada
> das funções sem precisar disso:
> my $p = Modulo::Modulo->new();
>
> ___
> Rio-pm mailing list
> Rio-pm@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@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
>
>
>
>
> --
> Tiago B. Peczenyj
> Linux User #405772
>
> http://about.me/peczenyj
>
> ___ 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
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
Errei nesse exemplo, seria my $p = algumacoisa();
Mas ok, o Junior falou do 'Exporter', então o que eu to tentando fazer 
é:package Palindrome;use strict;use Exporter 'import';@EXPORT_OK =  
qw(is_palindrome);sub is_palindrome {return 1 if ($_[0] == reverse $_[0]);}1;
mas quando tento
use Palindrome 'all';print "ok" if (is_palindrome($ARGV[0]));
e executo na shell 'perl exemplo.pl 111' ou qualquer outro número palíndromo ou 
não, não imprime "ok", apesar de não gerar nenhuma mensagem de erro.
From: tiago.pecze...@gmail.com
Date: Tue, 29 Apr 2014 17:43:22 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   [DUVIDA] Chamar função sem declarar construtor

isto é uma subrotina exportada
onde vc viu
my $p;
$p->algumacoisa;
?



2014-04-29 17:40 GMT-03:00 Aureliano Guedes :





#!/usr/bin/perl
use strict;use warnings;use Math::Prime::Util ':all';
print "ok" if (is_prime($ARGV[0]));


From: tiago.pecze...@gmail.com
Date: Tue, 29 Apr 2014 17:36:23 -0300
To: rio-pm@pm.org


Subject: Re: [Rio-pm]   [DUVIDA] Chamar função sem declarar construtor

de exemplos.



2014-04-29 17:34 GMT-03:00 Aureliano Guedes :







Ola monges,
Tenho uma pequena dúvida.Quando vamos usar uma função(sub-rotina) de um módulo 
fazemos na maioria das vezes o seguinte:
use Modulo::Modulo;




my $p = Modulo::Modulo->new();$p->funcao();
isso porque no modulo tem um contrutor ou foi gerado de presente ao autor 
quando usado o Moose ou semelhante.




A questão é que alguns poucos módulos permitem que seja feito diretamente
use Modulo::Modulo;
my $p;$p->funcao();




A dúvida é: como o autor do módulo faz para que permita fazer a chamada das 
funções sem precisar disso:my $p = Modulo::Modulo->new();   
  





___

Rio-pm mailing list

Rio-pm@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@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


-- 
Tiago B. Peczenyj
Linux User #405772



http://about.me/peczenyj


___
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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Tiago Peczenyj
isto é uma subrotina exportada

onde vc viu

my $p;

$p->algumacoisa;

?


2014-04-29 17:40 GMT-03:00 Aureliano Guedes :

> #!/usr/bin/perl
>
> use strict;
> use warnings;
> use Math::Prime::Util ':all';
>
> print "ok" if (is_prime($ARGV[0]));
>
> --
> From: tiago.pecze...@gmail.com
> Date: Tue, 29 Apr 2014 17:36:23 -0300
> To: rio-pm@pm.org
> Subject: Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor
>
>
> de exemplos.
>
>
>
>
> 2014-04-29 17:34 GMT-03:00 Aureliano Guedes :
>
> Ola monges,
>
> Tenho uma pequena dúvida.
> Quando vamos usar uma função(sub-rotina) de um módulo fazemos na maioria
> das vezes o seguinte:
>
> use Modulo::Modulo;
>
> my $p = Modulo::Modulo->new();
> $p->funcao();
> 
>
> isso porque no modulo tem um contrutor ou foi gerado de presente ao autor
> quando usado o Moose ou semelhante.
>
> A questão é que alguns poucos módulos permitem que seja feito diretamente
>
> use Modulo::Modulo;
>
> my $p;
> $p->funcao();
> 
>
> A dúvida é: como o autor do módulo faz para que permita fazer a chamada
> das funções sem precisar disso:
> my $p = Modulo::Modulo->new();
>
> ___
> Rio-pm mailing list
> Rio-pm@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@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
>



-- 
Tiago B. Peczenyj
Linux User #405772

http://about.me/peczenyj
___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Junior Moraes
Hi.

É importante notar que, desta forma, o $self não aparece nos parâmetros
recebidos pelo método acp().
https://gist.github.com/fvox/e27792a65b21e763292d

[]'s


Em 29 de abril de 2014 17:36, Tiago Peczenyj escreveu:

> de exemplos.
>
>
>
>
> 2014-04-29 17:34 GMT-03:00 Aureliano Guedes :
>
>> Ola monges,
>>
>> Tenho uma pequena dúvida.
>> Quando vamos usar uma função(sub-rotina) de um módulo fazemos na maioria
>> das vezes o seguinte:
>>
>> use Modulo::Modulo;
>>
>> my $p = Modulo::Modulo->new();
>> $p->funcao();
>> 
>>
>> isso porque no modulo tem um contrutor ou foi gerado de presente ao autor
>> quando usado o Moose ou semelhante.
>>
>> A questão é que alguns poucos módulos permitem que seja feito diretamente
>>
>> use Modulo::Modulo;
>>
>> my $p;
>> $p->funcao();
>> 
>>
>> A dúvida é: como o autor do módulo faz para que permita fazer a chamada
>> das funções sem precisar disso:
>> my $p = Modulo::Modulo->new();
>>
>> ___
>> Rio-pm mailing list
>> Rio-pm@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@pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>



-- 

Junior "fvox" Moraes
Perl Programmer
Linux Reg. #557527
junior[at]fvox[dot]com[dot]br
fb[dot]com/fvox
twitter[dot]com/fvox

___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
#!/usr/bin/perl
use strict;use warnings;use Math::Prime::Util ':all';
print "ok" if (is_prime($ARGV[0]));
From: tiago.pecze...@gmail.com
Date: Tue, 29 Apr 2014 17:36:23 -0300
To: rio-pm@pm.org
Subject: Re: [Rio-pm]   [DUVIDA] Chamar função sem declarar construtor

de exemplos.



2014-04-29 17:34 GMT-03:00 Aureliano Guedes :





Ola monges,
Tenho uma pequena dúvida.Quando vamos usar uma função(sub-rotina) de um módulo 
fazemos na maioria das vezes o seguinte:
use Modulo::Modulo;


my $p = Modulo::Modulo->new();$p->funcao();
isso porque no modulo tem um contrutor ou foi gerado de presente ao autor 
quando usado o Moose ou semelhante.


A questão é que alguns poucos módulos permitem que seja feito diretamente
use Modulo::Modulo;
my $p;$p->funcao();


A dúvida é: como o autor do módulo faz para que permita fazer a chamada das 
funções sem precisar disso:my $p = Modulo::Modulo->new();   
  



___

Rio-pm mailing list

Rio-pm@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@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

Re: [Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Tiago Peczenyj
de exemplos.




2014-04-29 17:34 GMT-03:00 Aureliano Guedes :

> Ola monges,
>
> Tenho uma pequena dúvida.
> Quando vamos usar uma função(sub-rotina) de um módulo fazemos na maioria
> das vezes o seguinte:
>
> use Modulo::Modulo;
>
> my $p = Modulo::Modulo->new();
> $p->funcao();
> 
>
> isso porque no modulo tem um contrutor ou foi gerado de presente ao autor
> quando usado o Moose ou semelhante.
>
> A questão é que alguns poucos módulos permitem que seja feito diretamente
>
> use Modulo::Modulo;
>
> my $p;
> $p->funcao();
> 
>
> A dúvida é: como o autor do módulo faz para que permita fazer a chamada
> das funções sem precisar disso:
> my $p = Modulo::Modulo->new();
>
> ___
> Rio-pm mailing list
> Rio-pm@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@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm

[Rio-pm] [DUVIDA] Chamar função sem declarar construtor

2014-04-29 Por tôpico Aureliano Guedes
Ola monges,
Tenho uma pequena dúvida.Quando vamos usar uma função(sub-rotina) de um módulo 
fazemos na maioria das vezes o seguinte:
use Modulo::Modulo;
my $p = Modulo::Modulo->new();$p->funcao();
isso porque no modulo tem um contrutor ou foi gerado de presente ao autor 
quando usado o Moose ou semelhante.
A questão é que alguns poucos módulos permitem que seja feito diretamente
use Modulo::Modulo;
my $p;$p->funcao();
A dúvida é: como o autor do módulo faz para que permita fazer a chamada das 
funções sem precisar disso:my $p = Modulo::Modulo->new();   
  ___
Rio-pm mailing list
Rio-pm@pm.org
http://mail.pm.org/mailman/listinfo/rio-pm