Permalink
Browse files

add #dig to Array,Hash and Struct

  • Loading branch information...
matz committed Mar 23, 2016
1 parent 4c1ce0f commit daf83946bbf2834da8393cd50af2bc7bcee3289f
@@ -744,4 +744,21 @@ def index(val=NONE, &block)
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
@@ -365,4 +365,21 @@ def >=(hash)
key?(key) and self[key] == val
}
end
##
# call-seq:
# hsh.dig(key,...) -> object
#
# Extracts the nested value specified by the sequence of <i>key</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
@@ -82,5 +82,22 @@ def inspect
#
alias to_s inspect
end
##
# call-seq:
# hsh.dig(key,...) -> object
#
# Extracts the nested value specified by the sequence of <i>key</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

1 comment on commit daf8394

@zzak

This comment has been minimized.

Show comment
Hide comment
@zzak

zzak Mar 23, 2016

Member

/cc #3140

Member

zzak commented on daf8394 Mar 23, 2016

/cc #3140

Please sign in to comment.