From: ruby-core@... Date: 2018-02-13T04:32:37+00:00 Subject: [ruby-core:85515] [Ruby trunk Feature#14468] Add Proc#dig Issue #14468 has been updated by marcandre (Marc-Andre Lafortune). Assignee set to matz (Yukihiro Matsumoto) I don't oppose it, but I'm not very enthusiastic about it. `Integer` and `String` also respond_to `[]`, and I don't quite see dig for these either. ---------------------------------------- Feature #14468: Add Proc#dig https://bugs.ruby-lang.org/issues/14468#change-70305 * Author: bradleybuda (Bradley Buda) * Status: Open * 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: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>