each_with_index()
public
Calls block with two arguments, the item and its index, for each
item in enum.
hash = Hash.new
%w(cat dog wombat).each_with_index {|item, index|
hash[item] = index
}
hash
Show source
/*
* call-seq:
* enum.each_with_index {|obj, i| block } -> enum
*
* Calls <em>block</em> with two arguments, the item and its index, for
* each item in <i>enum</i>.
*
* hash = Hash.new
* %w(cat dog wombat).each_with_index {|item, index|
* hash[item] = index
* }
* hash #=> {"cat"=>0, "wombat"=>2, "dog"=>1}
*
*/
static VALUE
enum_each_with_index(obj)
VALUE obj;
{
VALUE memo = 0;
rb_need_block();
rb_iterate(rb_each, obj, each_with_index_i, (VALUE)&memo);
return obj;
}