我有這樣(截斷/轉述了可讀性)紅寶石每個迭代器返回數組而不是布爾
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
眼下的每一個迭代器始終是它遍歷集合隱含返回代碼。即;我得到數組,不是真或假。如果我不重構並執行如下操作,它將按預期工作。不過我用的是check_row_for_truth_conditions在很多地方(這是更長的時間),所以想重構出來
def board_check?
@board.each do |row|
return true if row.include("foo")
false
end
end
我想通了。使用任何我可以得到我想要的?而不是每個。所以'@ board.any? {|行| check_row_for_truth_conditions(row)}' – user2892536