How to know the index value on the each method

Hello,

I was wondering if there is a way to access the current index value when
using the each method to iterate over an array. For example,

@pancakes.each do |pancake|

  puts pancake
  # How can I ask which is the current index value of pancake. I wish to
know in what position is the pancake object on the array without using a
local integer variable to count up.

end

Thanks,

Elías

···

--
Posted via http://www.ruby-forum.com/.

Alle Monday 02 February 2009, Elias Orozco ha scritto:

Hello,

I was wondering if there is a way to access the current index value when
using the each method to iterate over an array. For example,

@pancakes.each do |pancake|

  puts pancake
  # How can I ask which is the current index value of pancake. I wish to
know in what position is the pancake object on the array without using a
local integer variable to count up.

end

Thanks,

Elías

You can use Array#each_with_index, instead of Array#each. Or you can use
Array#index to obtain the index of the current object, but it only works if
the array doesn't contain duplicates: if there are duplicates (according to
==), Array#index always returns the index of the first item.

I hope this helps

Stefano

* Elias Orozco <elioncho@gmail.com> [2009-02-03 02:13:32 +0900]:

Hello,

I was wondering if there is a way to access the current index value when
using the each method to iterate over an array. For example,

@pancakes.each do |pancake|

@pancakes.each_with_index do |pancake, i|

Jan

···

  puts pancake
  # How can I ask which is the current index value of pancake. I wish to
know in what position is the pancake object on the array without using a
local integer variable to count up.

end

Thanks,

Elías
--
Posted via http://www.ruby-forum.com/\.

--
jan=callcc{|jan|jan};jan.call(jan)

Thanks for the help. It was exactly what I needed. Thanks again,

Elías

···

--
Posted via http://www.ruby-forum.com/.