probablemente ya pidió pero no pudo encontrarlo .. Aquí hay 2 situación común (para mí mientras rieles de programación ..) que son frustrantes para escribir en rubí:rubí azúcar sintáctico: se trata de Nils
"a string".match(/abc(.+)abc/)[1]
en este caso me sale un error porque la cadena no concuerda, por lo tanto, el operador [] se llama a nulo. Lo que me gustaría encontrar una alternativa más agradable de lo siguiente:
temp="a string".match(/abc(.+)abc/); temp.nil? ? nil : temp[1]
en breve, si no coincide simplemente nula regresar sin el error
La segunda situación es la siguiente:
var = something.very.long.and.tedious.to.write
var = something.other if var.nil?
en este caso quiero asignar algo a var sólo si no es nula, en caso de que sea nula voy a asigno something.other ..
Cualquier sugerencia? Gracias!
Ok Estoy muy cansado, me disculpo por la segunda pregunta era estúpida (sí, es un simple O ..), el primero sigue siendo interesante aunque .. En realidad – luca
, el segundo también fue interesante. Brevemente lo entendí mal, porque me olvidé de la precedencia del operador 'o'. El mal uso de 'o' es un paso en falso muy común y vale la pena destacarlo. –
Esto es muy similar a esta pregunta: http://stackoverflow.com/questions/4371716/looking-for-a-good-way-to-avoid-hash-conditionals-in-ruby/ – mpd