Saber la posición en un iterador

Buenas. A ver si se puede hacer ésto:

i = 0
for a in Menu.find :all
if i%2 ==0
#hacer cosas
else
#hacer otras cosas
end
i+=1
end

Pero sin usar i.

Gracias

Excelente. Muchas gracias

On Tuesday 08 May 2007 08:16:27 Luis V. wrote:

end
Menu.find(:all).each_with_index do |a, i|

y aquí pones lo que quieras. ‘a’ contiene el objeto

e ‘i’ su

posición.end

Saludos.


Imobach González Sosa
correo-e: imobachgs en banot punto net
jabber id: osoh en jabberes punto org
web: http://www.banot.net/~osoh/
blog: http://devnull.blogs.banot.net/


Ror-es mailing list
[email protected]
http://lists.simplelogica.net/mailman/listinfo/ror-es

Hola,

aparte del iterador, que la verdad me sorprendió que existiera (uno
nunca termina de sorprenderse con ruby y rails), está esta extensión del
core de integers, si te sirve claro
está,
for checking if a fixnum is even or odd.

 * 1.even? # => false
 * 1.odd? # => true
 * 2.even? # => true
 * 2.odd? # => false

Saludos

Sergio
GuamánLa Serena
Chile

Luis V.
escribió:> Excelente. Muchas gracias

On 5/8/07, Luis V. [email protected] wrote:

end
Se puede, pero también se puede usar cycle:

<% Menu.find(:all) do |menu| %>

...
<% end %>

:slight_smile:

El día 9/05/07, Damian J. [email protected] escribió:

end

Damian, yo también pensé en usar cycle pero creo que no le vale, que no
necesita alternar entre dos clases como para pijamar una tabla, sino
para
hacer una acción u otra dependiendo de si es par o impar la vuelta del
bucle.

como decía antes

Menu.find(:all).each_with_index do |a, i|
if i.odd
impar
else
par
end
end

¿está bien mi idea, o no?

Sergio
GuamánLa Serena
Chile

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs