Tôi đang phát triển một ứng dụng Ruby on Rails. Câu hỏi của tôi là thêm về cú pháp Ruby.Cú pháp Ruby: thoát ra từ 'mỗi .. do ..' khối
Tôi có một lớp mô hình với một phương pháp học self.check
:
class Cars < ActiveRecord::Base
...
def self.check(name)
self.all.each do |car|
#if result is true, break out from the each block, and return the car how to...
result = SOME_CONDITION_MEET?(car) #not related with database
end
puts "outside the each block."
end
end
Tôi muốn dừng/thoát ra khỏi each
khối lần các result
là đúng (đó là phá vỡ các khối each
nếu car.name
giống với thông số name
sau khi) VÀ trả lại car
gây ra kết quả đúng. Làm thế nào để thoát ra trong mã Ruby?
Tôi cung cấp mã mẫu không hợp lệ. Tôi không trực tiếp tìm hoặc kiểm tra thứ gì đó từ cơ sở dữ liệu. Tôi chỉ cần một cách để thoát ra khỏi khối "mỗi" nếu một số điều kiện đáp ứng một lần và trả lại 'chiếc xe' đó gây ra kết quả thực sự. – Mellon
Vâng, bạn thậm chí có thể cải thiện điều này: 'def self.check (name); self.where (: name => name) .any ?; end' –
đoạn đầu tiên có thể được viết: '!! self.find_by_name (name)'. – tokland