From: matz@... Date: 2018-02-20T06:09:47+00:00 Subject: [ruby-core:85670] [Ruby trunk Feature#14468][Rejected] Add Proc#dig Issue #14468 has been updated by matz (Yukihiro Matsumoto). Status changed from Open to Rejected The original intention for `dig` is a short-hand traversal of array-hash trees. I don't think it's normal to use `proc` objects as tree nodes. Matz. ---------------------------------------- Feature #14468: Add Proc#dig https://bugs.ruby-lang.org/issues/14468#change-70462 * Author: bradleybuda (Bradley Buda) * Status: Rejected * Priority: Normal * Assignee: matz (Yukihiro Matsumoto) * Target version: ---------------------------------------- Since Proc already responds to [], it would be cool if Procs could participate in a recursive dig. Like this: Current Behavior: ~~~ obj = [ 0, { a: ->(x) { x * 2 }, b: "c" }, ] obj[1][:a][4] == 8 # true obj.dig(1, :a, 4) == 8 # TypeError (Proc does not have #dig method) ~~~ Desired behavior: ~~~ obj.dig(1, :a, 4) == 8 # true ~~~ I am willing to implement this but I wanted to see if the devs think it is a good idea first. If there are no objections, I'll put together a patch. -- https://bugs.ruby-lang.org/ Unsubscribe: