この警告が表示される理由とその意味を教えてください。
a = [1,3,5]
a.fetch(0) #=> 1
a.fetch(0,0) #=> 1
a.fetch(22) { "out of range" } #=> out of range
a.fetch(0,0) { "out of range" } #=> returns 1 with warning: block supersedes default value argument
Array#fetchは最大 2 つのパラメーターを受け入れます。
- フェッチ(インデックス) → obj
- fetch(index, default) → obj # <-----
- fetch(インデックス) { |インデックス| ブロック } → obj
最後の設定よりも多くの引数を渡しています。