`The rubyist'【えぬ】の日記

2018-03-08

Array#dig, Hash#dig に引数を与えないとエラーになる  Array#dig, Hash#dig に引数を与えないとエラーになる - `The rubyist'【えぬ】の日記 を含むブックマーク はてなブックマーク -  Array#dig, Hash#dig に引数を与えないとエラーになる - `The rubyist'【えぬ】の日記

% irb
2.5.0 :001 > a=[1,[2,[3,[4]]]]
 => [1, [2, [3, [4]]]]
2.5.0 :002 > a.dig(1,1,1)
 => [4]
2.5.0 :003 > a.dig(1,1)
 => [3, [4]]
2.5.0 :004 > a.dig(1)
 => [2, [3, [4]]]
2.5.0 :005 > a.dig()
Traceback (most recent call last):
        3: from /path/to/rvm/rubies/ruby-2.5.0/bin/irb:11:in `<main>'
        2: from (irb):5
        1: from (irb):5:in `dig'
ArgumentError (wrong number of arguments (given 0, expected 1+))

そこ、エラーにすべき理由ってある?

digの存在忘れて下のようなオレオレdig書いてた自分としては、そこはselfを返してほしいなと。

module Diggable
  def dig(*a)
    a.inject(self, :[])
  end
end

ゲスト



トラックバック - http://rubyist.g.hatena.ne.jp/n2s/20180308