/* * 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; }