0

この警告が表示される理由とその意味を教えてください。

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
4

2 に答える 2

0

Array#fetchは最大 2 つのパラメーターを受け入れます。

  • フェッチ(インデックス) → obj
  • fetch(index, default) → obj # <-----
  • fetch(インデックス) { |インデックス| ブロック } → obj

最後の設定よりも多くの引数を渡しています。

于 2013-09-01T10:16:06.110 に答える