Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

繰り返し処理中では極力nextを使う

nextは繰り返し処理を次に送るメソッドです。
コーディング規則によれば、これを使うと、深いネスト化を避ける事ができます。

# 悪い例
Array(1..10).each do |item| 
  if item.odd?
    puts item
  end
end
# => 2
# => 6
# => 10
# => 14
# => 18
# 良い例
Array(1..10).each do |item| 
  next unless item.odd?
  puts item * 2
end
# => 2
# => 6
# => 10
# => 14
# => 18

処理開始前のreturnと同様、無駄な処理をしないで済むメリットもありそうです。
ベンチマークを取ってみた所、条件式一個程度では速度的メリットはないみたいです...