Ruby の break に引数を渡す

Ruby の break に引数を渡すと、そのループの戻り値になります。

data = [4, 2, 6, 7, 5, 3, 1, 8, 9]

# 配列の中から最初に現れる奇数を探す
result = for i in data
    if i % 2 != 0
        break i
    end
end

result
# => 7

# #each でも利用できる
result = data.each { |it|
    break i if it % 2 != 0
}

result
# => 7

#each なんかで戻り値を返したい場合に break が利用できます。