nextメソッドの使い方
nextメソッドの使い方
nextメソッドの動作の認識が誤っていたので、こちらに備忘録としてまとめます。
next使うと、その要素のままでそれ以降の処理がスキップされて次の要素に移ると思っていたが、
その際は、nilになってしまう。。。
そして、returnのようにnextにも引数が使えると知った。
[1, 2].map do |value| next if value == 1 value * 2 end →[nil, 4]
[1, 2].map do |value| next 1 if value == 1 value * 2 end →[1, 4]
よくよく考えたら、map
メソッドで要素をループしており、ブロックの中での処理結果を新しい配列の要素とするからnext if value == 1
がtrueになるとnext
メソッドに返り値を指定していないので、nilになる。。。。