Precedência em operadores lógicos

Antes de qualquer coisa, veja os seguintes códigos e seus respectivos retornos:

true and false #=> false
true && false #=> false
true or false #=> true
true || false #=> true

Em vista disso, logo vem a pergunta: Qual a diferença entre "and" e "&&" e entre "or" e "||"?
A resposta é simples, "&&" e "||" possuem maior precedência que "and" e "or". Sendo que o "&&" possui maior precedência que o "||" e o "and" possui a mesma precedência que "or". Veja alguns exemplos:

true or false and false #=> false

Neste caso o código é resolvido da esquerda para a direita, ou seja: primeiro o "or" e em seguida o "and".

true or false && false #=> true

Como o "&&" possui maior precedência ele é resolvido primeiramente e depois o "or".


2 comentários:

Pedro Fernandes Steimbruch disse...

Parabéns pela nova casa e pela iniciativa.
Blog tá muito show e os posts todos interessantes.

Continua com o belo trabalho. Abss.

Samuel Vinícius disse...

Obrigado Pedro, elogios e críticas construtivas são sempre bem vindas !

Postar um comentário

© 2010 Casa Open | by Samuel Vinícius, Belo Horizonte - BH. Powered by Blogger