From cb3b463a50dee9d4e3d174dc9b1d7c8181678cd4 Mon Sep 17 00:00:00 2001 From: marcandre Date: Tue, 8 Dec 2015 05:21:11 +0000 Subject: * array.c: Improve and fix documentation for Array#dig [#11776] * hash.c: ditto * struct.c: ditto * test_hash.rb: Add basic test for user defined `dig`. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- array.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'array.c') diff --git a/array.c b/array.c index 159dc8f7a4..dd14837b76 100644 --- a/array.c +++ b/array.c @@ -5535,13 +5535,16 @@ rb_ary_any_p(VALUE ary) * call-seq: * ary.dig(idx, ...) -> object * - * Extracts the nested array value specified by the sequence of idx - * objects. + * 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(0, 0, 0) #=> nil + * a.dig(1, 2, 3) #=> nil + * a.dig(0, 0, 0) #=> NoMethodError, undefined method `dig' for 1:Fixnum + * [42, {foo: :bar}].dig(1, :foo) #=> :bar */ VALUE -- cgit v1.2.3