[SP-pm] Desculpa a lista

Fernando Oliveira fernandocorrea em gmail.com
Quarta Junho 11 13:47:55 PDT 2008


2008/6/11 Daniel de Oliveira Mantovani <
daniel.oliveira.mantovani em hotmail.com>:

>  A parte de ler o e-mail é porque eu comecei ler de cima para baixo, depois
> que eu vi que
> $variavel = shift , é a mesma coisa que $variavel = shift @_.
> Agora deu para intender agora eu já consigo intender este programa aqui;
> <code>
> foreach ( 1 .. 10 )    { #repete 10x
> print "$_! = " . fatorial($_) . "\n";  #imprime o valor $_! = (Quanto vale
> o factorial ) newline
> }
>
> sub fatorial
> {
> my $numero = shift; #retira o valor que está entre () no caso
> 1,2,3,4,5,6,7,8,9,10, e o valor só existe enquanto está sendo executado é
> uma variável de escopo léxico, assim que termina a variável de escopo léxico
> ela é destruida.
>
</code>Repito, primeiro vc deveria entender a diferença entre scalar e
array...<code>

>
>
> if ($numero <= 1 )    {
> return 1 #se o valor retirado de () for 1 ou menor do que 1 retorna o valor
> 1 para factorial
> }
> else {
> return $numero * fatorial($numero -1); # caso ao contrario a váriavel
> numero * quanto vale factorial -1
> }
> }
> <code>
>
>
> Daniel Mantovani
> "A sabedora é a virtude dos sábios."
> "Até um tolo pode passar por sábio e inteligente se ficar calado"
>
>
> > Date: Wed, 11 Jun 2008 10:20:12 -0200
> > From: andre.garcia.carneir em terra.com.br
> > To: saopaulo-pm em mail.pm.org
> > Subject: Re: [SP-pm] Desculpa a lista
>
> >
> >
> > Explicando da forma mais simples que eu posso:
> >
> > $variavel = shift;
> >
> > isso é a mesma coisa que
> >
> > $variavel = shift @_;# Isso não ajudou muito né? Leia o resto do e-mail,
> por favor!
> >
> > @_ é uma variável especial em perl. Diz-se que é o 'array padrão'. Quando
> você omite o array usando 'my
> > $variavel = shift', por exemplo, Perl assume automaticamente que você
> está querendo o retirar o primeiro
> > elemento do array @_(Por isso diz-se que @_ é o array padrão). Essas
> variáveis especiais são como 'atalhos'
> > para resolver problemas 'cotidianos'(mas nem sempre) em programação, como
> capturar parâmetros por exemplo:
> >
> > <code>
> > !# /usr/bin/perl
> > use strict;
> >
> > my $result = &minha_subrotina('Hey! Eu sou uma string :p ');#você pode
> omitir o '&' se quiser. Não me lembro se
> > isso é recomendado em Perl Best Pratices*...
> > print $result;
> >
> > sub minha_subrotina {
> > my $var = shift;#capturando o parâmetro enviado pela chamada à subrotina,
> nesse caso 'Hey! Eu sou uma
> > string'.
> > return $var.'-exemplo didático';#concatenando $var com -exemplo didático
> e retornando $var
> > }
> > </code>
> >
> > Para saber mais sobre variáveis especiais: perldoc perlvar.
> >
> > O my é um operador usado para fazer declaração de variáveis(Ah... mas
> perl não precisa disso certo? ERRADO!).
> > Recomenda-se fortemente que se faça declarações utilizando my/our/local
> (our e local também são operadores para
> > declaração), para garantir que você mantenha suas variáveis dentro dos
> seus respectivos ESCOPOS, ou seja,
> > evitar que você saia por aí declarando variáveis globais e tendo surtos
> pscóticos por não conseguir saber
> > porque seu programa sobrescreve valores de variáveis(perl também é saúde)
> >
> > Para saber mais sobre declaração: perldoc perlsyn, para saber mais sobre
> 'my', 'local', e 'our', você pode dar
> > uma 'sapiada' aqui. Embora eu recomende fortemente que você compre esse
> livro:
> >
> > http://unix.com.ua/orelly/perl/prog3/ch04_08.htm
> >
> >
> > *Perl Best Pratices - livro escrito por Damian Conway, que descreve 'boas
> práticas de programação', que é
> > aceito pela comunidade perl mundial.
> >
> >
> > Cheers!
> >
> >
> > ---------- Cabeçalho original -----------
> >
> > De: saopaulo-pm-bounces+andre.garcia.carneir=terra.com.br em pm.org
> > Para: saopaulo-pm em mail.pm.org
> > Cópia:
> > Data: Tue, 10 Jun 2008 17:35:56 -0300
> > Assunto: [SP-pm] Desculpa a lista
> >
> > >
> > > Pessoas, queria me desculpar com vocês por atitudes imaturas.
> > > Sei que tenho muito o que aprender, principalmente sobre Perl, e não
> existe lugar melhor para o aprendizado,
> > do que com os Mestres Dobradores de Perl.
> > > Espero recuperar a elegância natural de um newbie.
> > > E espero recuperar isso com atitudes e perguntas construtivas.
> > > Para começar eu não intendi a utilidade do shift quando usado junto à
> uma variável,
> > > Exemplo:
> > > $variavel = shift;
> > > e também não intendi a utilidade do "My"
> > > Exemplo:
> > > my $variavel = shift;
> > > O My eu sei teoricamente o que ele faz, o shift eu sei usar ele
> perfeitamente com "Array", para retirar o
> > primeiro argumento, porém o shift com variável e o My, na prática eu não
> intendi muito bem, pois como eu já
> > disse é a minha primeira linguagem de programação.
> > > Gostaria que me mostrassem programas simples com shift junto à uma
> variável, e o My, sei que simples para
> > vocês é dificilimo para mim, então pesso que escolham com cuidado.
> > >
> > > Obrigado.
> > >
> > > Abraços a todos.
> > >
> > > Daniel Mantovani
> > >
> > > _________________________________________________________________
> > > Confira vídeos com notícias do NY Times, gols direto do Lance,
> videocassetadas e muito mais no MSN Video!
> > > http://video.msn.com/?mkt=pt-br
> >
> > --
> > André Garcia Carneiro
> > Developer(Perl/PHP)
> > Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
> >
> > _______________________________________________
> > SaoPaulo-pm mailing list
> > SaoPaulo-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
> ------------------------------
> Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o
> Messenger! É GRÁTIS! <http://www.msn.com.br/emoticonpack>
>
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>



-- 
Just another Perl Hacker,
Fernando (SmokeMachine)
http://perl-e.org
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20080611/c91d927b/attachment.html 


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