method
dig
ruby latest stable - Class:
Array
dig(*args)public
Extracts the nested value specified by the sequence of idx objects by calling dig at each step, returning nil if any intermediate step is nil.
a = [[1, [2, 3]]] a.dig (0, 1, 1) #=> 3 a.dig (1, 2, 3) #=> nil a.dig (0, 0, 0) #=> TypeError: Integer does not have #dig method [42, {foo: :bar}].dig (1, :foo) #=> :bar
VALUE
rb_ary_dig(int argc, VALUE *argv, VALUE self)
{
rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS);
self = rb_ary_at(self, *argv);
if (!--argc) return self;
++argv;
return rb_obj_dig(argc, argv, self, Qnil);
}