Ruby Newbie homepage Ruby Newbie homepage

How to use

Quick guide

Official content
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"
 
               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;
}
            

Was this page useful?