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

Responder a