Method: Hash#default
- Defined in:
- hash.c
#default ⇒ Object #default(key) ⇒ Object
Returns the default value for the given key. The returned value will be determined either by the default proc or by the default value. See Default Values.
With no argument, returns the current default value:
h = {}
h.default # => nil
If key is given, returns the default value for key, regardless of whether that key exists:
h = Hash.new { |hash, key| hash[key] = "No key #{key}"}
h[:foo] = "Hello"
h.default(:foo) # => "No key foo"
2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 |
# File 'hash.c', line 2221
static VALUE
rb_hash_default(int argc, VALUE *argv, VALUE hash)
{
VALUE ifnone;
rb_check_arity(argc, 0, 1);
ifnone = RHASH_IFNONE(hash);
if (FL_TEST(hash, RHASH_PROC_DEFAULT)) {
if (argc == 0) return Qnil;
return call_default_proc(ifnone, hash, argv[0]);
}
return ifnone;
}
|