Method: Hash#select
- Defined in:
- hash.c
#select {|key, value| ... } ⇒ Hash #select ⇒ Object #filter {|key, value| ... } ⇒ Hash #filter ⇒ Object
Returns a new hash consisting of entries for which the block returns true.
If no block is given, an enumerator is returned instead.
h = { "a" => 100, "b" => 200, "c" => 300 }
h.select {|k,v| k > "a"} #=> {"b" => 200, "c" => 300}
h.select {|k,v| v < 200} #=> {"a" => 100}
Hash#filter is an alias for Hash#select.
2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 |
# File 'hash.c', line 2621
VALUE
rb_hash_select(VALUE hash)
{
VALUE result;
RETURN_SIZED_ENUMERATOR(hash, 0, 0, hash_enum_size);
result = rb_hash_new();
if (!RHASH_EMPTY_P(hash)) {
rb_hash_foreach(hash, select_i, result);
}
return result;
}
|