diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-03-23 11:49:28 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-03-23 11:49:28 +0900 |
| commit | daf83946bbf2834da8393cd50af2bc7bcee3289f (patch) | |
| tree | 6fa05f86dcfa6a6b984fb515a7482448cf5a676a /mrbgems/mruby-array-ext | |
| parent | 4c1ce0f61cfc8988fa50dd48bb404f01d234eb7b (diff) | |
| download | mruby-daf83946bbf2834da8393cd50af2bc7bcee3289f.tar.gz mruby-daf83946bbf2834da8393cd50af2bc7bcee3289f.zip | |
add #dig to Array,Hash and Struct
Diffstat (limited to 'mrbgems/mruby-array-ext')
| -rw-r--r-- | mrbgems/mruby-array-ext/mrblib/array.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/mrbgems/mruby-array-ext/mrblib/array.rb b/mrbgems/mruby-array-ext/mrblib/array.rb index f19581cdc..04637471d 100644 --- a/mrbgems/mruby-array-ext/mrblib/array.rb +++ b/mrbgems/mruby-array-ext/mrblib/array.rb @@ -744,4 +744,21 @@ class Array def to_ary self end + + ## + # call-seq: + # ary.dig(idx, ...) -> object + # + # 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+. + # + def dig(idx,*args) + n = self[idx] + if args.size > 0 + n&.dig(*args) + else + n + end + end end |
