diff options
author | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-08 05:21:11 +0000 |
---|---|---|
committer | marcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-12-08 05:21:11 +0000 |
commit | cb3b463a50dee9d4e3d174dc9b1d7c8181678cd4 (patch) | |
tree | 0e7faca165921fba08b4e438f23049ef400dff99 /hash.c | |
parent | 1fadd438811426523a79ccea93a45f0a202a50f6 (diff) | |
download | ruby-cb3b463a50dee9d4e3d174dc9b1d7c8181678cd4.tar.gz |
* 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
Diffstat (limited to 'hash.c')
-rw-r--r-- | hash.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -2695,13 +2695,17 @@ rb_hash_any_p(VALUE hash) * call-seq: * hsh.dig(key, ...) -> object * - * Extracts the nested hash value specified by the sequence of <i>key</i> - * objects. + * Extracts the nested value specified by the sequence of <i>idx</i> + * objects by calling +dig+ at each step, returning +nil+ if any + * intermediate step is +nil+. * * h = { foo: {bar: {baz: 1}}} * * h.dig(:foo, :bar, :baz) #=> 1 - * h.dig(:foo, :zot) #=> nil + * h.dig(:foo, :zot, :xyz) #=> nil + * + * g = { foo: [10, 11, 12] } + * g.dig(:foo, 1) #=> 11 */ VALUE |