sangre rubi rojos puntos piel picaduras los diminutos como cara brazos ruby

ruby - rubi - sass vs less 2017



Diferencia-a menos que/si (4)

¿Alguien puede explicarme la diferencia entre if y a unless y cuándo usarlo?


La diferencia entre if y a unless es que son exactamente opuestos entre sí:

  • if toma una condición, un bloque-luego y un bloque-else opcional, y evalúa el bloque-luego si la condición es verdadera, de lo contrario, evalúa el bloque-else
  • unless tome una condición, un bloque en-siguiente y un bloque-else opcional, y evalúa el bloque-luego si la condición es falsa, de lo contrario, evalúa el bloque-else

O, en otras palabras, significan más o menos lo mismo en Ruby que en inglés.


Usar ''a menos'' es sencillo para mí cuando hay un argumento, pero lo encuentro confuso cuando hay varios. Y cuando usas || en lugar de && .

"A menos que esto o aquello" sea ​​más difícil para mi cerebro. "si no esto y no eso" es más fácil.

Va a ser más difícil mantener este código en el futuro si lo uso. Entonces yo no.


unless sea ​​simplemente equivalente a if not . Cuando usa cuál es una preferencia personal.


unless sea ​​simplemente un negado if . Es decir, ejecuta todo lo que contiene si la condición no es verdadera.

unless foo? # blabla end

Simplemente significa

if !foo? # blabla end

Todo es cuestión de lo que le resulte más fácil de leer, realmente.

Ver también: a menos que, el abusado Ruby condicional