rescue true

21 noviembre, 2010

Ruby: Diferencias entre “and” y “&&”, “or” y “||”

Archivado en: Ruby,Tips&Tricks — xurdekio @ 12:43 pm
Tags: , ,

Hace unos días me preguntaban por la diferencia en ruby sobre los operadores en sus diferentes formas, esto es and Vs. && y or Vs. ||.
Mucha gente piensa que uno de los dos no sigue los atajos de los circuitos lógicos, sin embargo esto es falso. Las dos formas son igual de eficientes a la hora de evaluarse, es decir, en caso de and y && si la primera condición es falsa no se evalua la segunda, y en caso de or y || si la primera condición es verdadera no se evalua la segunda.
Ahora bien, la diferencia se encuentra en la preferencia de los operadores a la hora de evaluarse. && y || tienen mas preferencia que and y or. Para verlo claramente:

 a = false or true #=> true
 a #=> false

 a = false || true #=> true
 a #=> true

En el primer caso se evalua antes el operador =, con lo que a la variable a se le asigna el valor false. Sin embargo el resultado de la operación es true.
En el segundo caso se evalua primero el operador ||. La expresion devuelve true y a la variable a se le asigna el valor true.

Espero que haya quedado claro, para cualquier cosa.. los comentarios!

About these ads

1 comentario »

  1. Si leyera antes de preguntar….jeje

    Thank you!

    Comentario por Laura — 15 diciembre, 2010 @ 12:38 pm | Responder


RSS feed para los comentarios de esta entrada. TrackBack URI

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Conectando a %s

Tema Rubric. Blog de WordPress.com.

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d bloggers like this: