Is there a way to get each element of an array, as well the index of that element? Something like a = %w[foo bar] a.each { |val, index| .... } # val => 'foo', index => 0 If there's no way to do that, is it better to use each_index and then access the array? a.each_index do |i| puts i puts a[i] end vs finding the index after you have the element a.each do |val| puts a.index(val) puts val end Intuitively I'd think the second way may be a bit slower than the first, because it has to search through the array for the element, rather than accessing the index directly. Maybe not though...I'd just like a bit of explanation on this. Thanks, Pat