each()
public
Calls block once for each key in
hsh, 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
Hash.each_pair, which will be marginally more efficient for blocks
with two parameters.
h = { "a" => 100, "b" => 200 }
h.each {|key, value| puts "#{key} is #{value}" }
produces:
a is 100
b is 200
Show source
/*
* 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;
{
RETURN_ENUMERATOR(hash, 0, 0);
rb_hash_foreach(hash, each_i, 0);
return hash;
}