domingo, 21 de junio de 2009

Comparacion de rangos

Es muy común al programar, encontrarse con la necesidad de verificar algún rango de algo:


# la manera "dificil"
if a > 3 and a < 9 then
print "a esta entre 3 y 9\n"
end


Mejor asi, usando el operador ===


# la manera "canchera"
if (3..9) === a then
print "a esta entre 3 y 9\n"
end


Como si esto fuera poco, el operador === tiene todos los usos que uno se pueda imaginar, como por ej, para verificar si un texto matchea una expresion regular:


# la manera "canchera"
if /^ruby/ === txt then
print "'#{txt}' tiene ruby al principio\n"
end


Y si se les da la gana, pueden usar este operador en sus propias clases (también obviamente definirlo o redefinirlo para la clase existente que quieran)



class X
def ===(a)
print a,"\n"
end
end

No hay comentarios: