[SP-pm] Desculpa a lista

Alexei Znamensky russoz em gmail.com
Quarta Junho 11 06:27:54 PDT 2008


ô do cabelo, td bão?

a direfença dos or/and/etc para || && ... é a precedência. aqui vai um
pedacinho significativo da tabela:

           left        &&
           left        ||
           nonassoc    ..  ...
           right       ?:
           right       = += -= *= etc.
           left        , =>
           nonassoc    list operators (rightward)
           right       not
           left        and
           left        or xor

note que os || && têm precedência MAIOR que a atribuição, e os outros não..
isso dá uma bela diferença ;-)

ET? Campinas? o_O Phone home? rsrs

[]s
Russian


2008/6/11 André Garcia Carneiro <andre.garcia.carneir em terra.com.br>:

> ---------- 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 23:01:13 -0300
> Assunto: Re: [SP-pm] Desculpa a lista
>
> >
> >
> > Mas, o livro então que está me confundindo olha só esse programa, ( jogo
> ) que eu aprendi fazer com o livro:
>
> Que livro? Se for o que você mencionou, jogue fora.
>
> >
> > #!/usr/bin/perl
>
> Cadê o 'use strict;'?
>
> > $resultado = soma();
> > if ($resultado == 7 or $resultado == 11)      {
> > $status = "ganhou";
>
> Cadê o 'my'
>
> > }
> > elsif ($resultado == 2 or $resultado == 3 or $resultado == 12)        {
> > $status = "perdeu";
> > }
>
> Nada contra or e and... mas prefiro '||'(or) e '&&'(and) como operadores
> lógicos... devem ser resquícios de C
> em meu cérebro... rsrsrs! Se não me engando postaram aqui uma vez dizendo
> que haviam diferenças grandes em se
> usar 'and','or' e '&&','||'... vou procurar, se se achar posto um
> comentário.
>
> > elsif ($resultado == 4 or $resultado == 5 or $resultado == 6 or
> $resultado == 8 or $resultado == 9)   {
> > $status = "continua";
> > $pontos = $resultado;
> > }
> > while ($status eq "continua") {
> > $resultado = soma();
> > if ($resultado == 7)  {
> > $status = "perdeu";
> > }
> > elsif ($resultado == $pontos) {
> > $status = "ganhou";
> > }
> > }
> > print message();
> >
> > sub soma
> > {
> > ($dado1 , $dado2) = (indivi() , indivi());
> > $somas = $dado1 + $dado2;
> > print "Jogador lançou $dado1 + $dado2 e a soma é $somas\n";
> > return $somas
> > }
> >
> > sub indivi
> > {
> > return 1 + int( rand ( 6 ) );
> > }
> >
> > sub message
> > {
> > $status = shift;
> > return print "Parabéns você ganhou\n" if $status eq "ganhou";
> > return print "Você perdeu\n";
> > }
> >
> > Na sub message:
> > tem lá:
> > $stauts = shift;
> > Mas seu apagar isso, o problema executa normalmente.
> > isso retira o primeiro valor de $status correto ?
> > Mas isso é uma coisa inútil concordam ?(Neste programa)
>
> Quer dizer, ele imprime $status mesmo sem a linha '$status'??? Se isso
> acontece, é por uma única e simples
> razão... não está usando o pragma 'strict'.
>
> Experimenta colocar 'use strict;' no início do código e vc vai ver que esse
> programa terá muitos problemas.
> Reparou por exemplo, que você sempre perde(sem usar strict)?
>
>
> > Acho que o livro tinha que por um exemplo que o shift fosse realmente
> necessário no programa.
> > "
>
> Aquele shift é necessário... sem ele o status é sempre falso, ou seja, você
> sempre 'perde'.
>
> > pop     - remove o último elemento do array e retorna este elementopush
>  - adiciona elementos ao final do
> arrayshift   - remove o primeiro elemento do array e retorna este
> elementosplice  - adiciona or remove
> elementos em qualquer lugar do arrayunshift"Isso eu já estudei.
> > "ARGV", eu ainda não estudei.
> >
> >
> > Daniel Mantovani
> > "A sabedora é a virtude dos sábios."
> > "Até um tolo pode passar por sábio e inteligente se ficar calado"
> >
> >
> > Date: Tue, 10 Jun 2008 19:28:27 -0300
> > From: shonorio em gmail.com
> > To: saopaulo-pm em mail.pm.org
> > Subject: Re: [SP-pm] Desculpa a lista
> >
> > Daniel,O pessoal já explicou o quê é shift, mas vou avançar um pouco mais
> e vou dividir o email em duas
> partes, sendo elas:
> >
> >
> > operadores de array :
> > Os operadores podem ser agrupados por função e os operadores responsável
> por 'manusear' arrays são :
> >
> > pop     - remove o último elemento do array e retorna este elementopush
>  - adiciona elementos ao final do array
> > shift   - remove o primeiro elemento do array e retorna este
> elementosplice  - adiciona or remove elementos
> em qualquer lugar do array
> > unshift - adiciona elementos no início do arrayA questão é que todos
> estes operadores precisam de pelo um
> dado/variável para trabalhar, o pop e shift por exemplo. Quanto o nome da
> variável não é definido aí acontece
> as mágias negras do Perl, as variáveis especiais (perldoc perlvar). Entre
> estas variáveis especiais temos duas
> muito utilizada e invisíveis, a '@_' e '$_'.
> >
> >
> > A '@_' é o array padrão para os operadores que estão aguardando um array,
> ou seja, se você escrever :
> > my $x = shift @meu_array; # o shift vai remover o primeiro elemento do
> array @meu_array e colocar na variável $x;
> > my $x = shift; # o shift vair remover o primeiro elemento do array @_,
> porque você não definiu uma variável,
> e colocar na variável $x.
> >
> > E como você define este valor padrão, quando você passa valores para uma
> função, por exemplo:
> > sub f {
> >   my $v01 = shift;
> >   my $v02 = shift @_; # esta faz o mesmo que o primeiro, só que estou
> declarando o @_
> > }
> > O '$_'  é a mesma coisa, mas ele é o valor padrão para operadores que
> trabalham com escalares.
> > declaração de variáveis:O 'my' (nunca My), é um operador de declaração de
> escopo de variável. Faz parte da
> boa política de programação e perl e sempre será exigido quando você
> utilizar o pragma 'strict'. Então sempre,
> digo SEMPRE, começe um código em perl assim :
> >
> > #!/bin/perl
> > use strict;
> > use warnings;
> >
> >
> >
> > Agora, começe a dar uma lida na documentação, dê uma olhada no site
> www.perl.org.br, pois este teu livro está
> muito fraco. Se vc está no meio dele e ainda está com estas dúvidas.
> > Abraços,Solli M. Honório
> >
> >
> > 2008/6/10 Daniel de Oliveira Mantovani <
> daniel.oliveira.mantovani em hotmail.com>:
> >
> >
> >
> >
> >
> >
> > 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
> >
> > Notícias direto do New York Times, gols do Lance, videocassetadas e
> muitos outros vídeos no MSN Videos!
> Confira já!
> >
> >
> > _______________________________________________
> >
> > SaoPaulo-pm mailing list
> >
> > SaoPaulo-pm em pm.org
> >
> > http://mail.pm.org/mailman/listinfo/saopaulo-pm
> >
> >
> > --
> > "o animal satisfeito dorme". - Guimarães Rosa
> >
> > _________________________________________________________________
> > Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para
> o Messenger! É GRÃTIS!
> > http://www.msn.com.br/emoticonpack
>
> --
> 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
>



-- 
Alexei Znamensky [russoz_gmail_com] [russoz.wordpress.com] [
www.flickr.com/photos/alexeiz]
"Though we live in trying times, we're the ones who have to try"
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://mail.pm.org/pipermail/saopaulo-pm/attachments/20080611/2bed568e/attachment-0001.html 


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