El día 19 de noviembre de 2009 11:34, Emmanuel Oga <[email protected]> escribió: > > > 2009/11/19 lizzy ~* <[email protected]> >> >> On Thu, Nov 19, 2009 at 11:06 AM, Jürgen Feßlmeier <[email protected]> >> wrote: >>> >>> Estoy usando esta forma muchisimo tambien y es corecto, pero para otras >>> es un poco mas dificil a ler que: >> >> si... yo apenas vi eso en el codigo [que no recuerdo quien lo escribio ya] >> dije "uuh... voy a ponerlo bien con ==" >> y luego me reventaba la aplicacion y no entendia nada jajaja luego cai, >> asi que lo volvi a como estaba antes >> >>> >>> foo = Bar.find(:all, :conditions => {:lol => 3}) >>> if foo >>> puts foo >>> end >>> > > Es muy comun encontrar eso. En ruby no luce tan mal, en gral es obvio que la > intencion es asignar y chequear a la vez que el valor no sea nil o false. En > otros lenguajes (como C) se recomienda no hacerlo por la razon que menciona > lizzy. Personalmente trato de evitarlo siempre que puedo. > > En otro tema, cuando el if es de una sola linea me gusta mucho ponerlo > despues del statement > > foo = Bar.find(:all, :conditions => {:lol => 3}) > puts foo if foo > > P.S.: haciendo un poco de nit-pick, si Bar es una clase ActiveRecord, ese > check no sirve para nada. find o encuentra o explota. Si queres checkear por > nil tenes que usar Bar#find_by_id.
En este caso, devuelve un arreglo, el cual podría estar vacío. O sea ... siempre se imprime foo Silvio _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
