次のようなコードがあります(読みやすくするために切り捨てられています/言い換えられています)
def board_check?
@board.each {|row| check_row_for_truth_conditions(row)}
end
def check_row_for_truth_conditions(row)
return true if row.include("foo")
false
end
現在、各反復子の暗黙的な戻り値は、常に反復処理中のコレクションです。すなわち; true または false ではなく、配列を取得します。リファクタリングせずに次のようなことをすると、期待どおりに機能します。しかし、私は多くの場所で check_row_for_truth_conditions を使用しています (そしてそれははるかに長いです) ので、リファクタリングしたいと思います
def board_check?
@board.each do |row|
return true if row.include("foo")
false
end
end