Estoy desarrollando una aplicación Ruby on Rails. Mi pregunta es más acerca de Ruby sintaxis.Sintaxis de Ruby: salir del bloque 'each .. do ..'
que tienen una clase de modelo con un método de clase 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
me gustaría parar/salir del bloque each
vez la result
es cierto (eso es romper el bloque each
si car.name
es el mismo que el name
parámetro una vez) y devolver el car
que causan que la cierto resultado. ¿Cómo salir en el código de Ruby?
Proporciono un código de muestra incorrecto. No encuentro directamente ni verifico algo de la base de datos. Solo necesito una forma de salir del bloque "cada" si alguna condición se encuentra una vez y devolver ese 'carro' que causa el verdadero resultado. – Mellon
Bueno, incluso puedes mejorar esto: 'def self.check (name); self.where (: nombre => nombre) .any ?; end' –
el primer fragmento se puede escribir: '!! self.find_by_name (name)'. – tokland