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.
>
>> Todavia estoy buscando una forma para escribier tu codigo en solo una
>> linea...
>>
>> Saludos,
>> Juergen
>>
>>
> Ahora me doy cuenta que por ahi el ejemplo que di no es taaan correcto como
> para ejemplificar, ya que si no encuentra nada devuelve un array y lo toma
> como true, seria un :first en lugar de :all. Pero me entendiste la idea asi
> que gracias ^_^
>
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>
--
--------------------------------------------------------------
EmmanuelOga.com - Software Developer
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar