/* * call-seq: * hsh.each {| key, value | block } -> hsh * * Calls <i>block</i> once for each key in <i>hsh</i>, passing the key * and value to the block as a two-element array. Because of the assignment * semantics of block parameters, these elements will be split out if the * block has two formal parameters. Also see <code>Hash.each_pair</code>, which * will be marginally more efficient for blocks with two parameters. * * h = { "a" => 100, "b" => 200 } * h.each {|key, value| puts "#{key} is #{value}" } * * <em>produces:</em> * * a is 100 * b is 200 * */ static VALUE rb_hash_each(hash) VALUE hash; { rb_hash_foreach(hash, each_i, 0); return hash; }