ruby-on-rails - que - ruby on rails tutorial
Prueba de cadena vacĂa o de valor nulo (3)
La segunda cláusula no necesita un !variable.nil?
comprobación: si la evaluación llega a ese punto, se garantiza que variable.nil
es falso (debido a short-circuiting ).
Esto debería ser suficiente:
variable = id if variable.nil? || variable.empty?
Si estás trabajando con Ruby on Rails, Object.blank?
resuelve este problema exacto:
Un objeto está en blanco si es falso, vacío o una cadena de espacio en blanco. Por ejemplo,
""
," "
,nil
,[]
y{}
están en blanco.
Esta pregunta ya tiene una respuesta aquí:
Estoy tratando de establecer una variable condicionalmente en Ruby. Necesito configurarlo si la variable es nula o está vacía (cadena de 0 longitud). He venido con lo siguiente:
variable = id if variable.nil? || (!variable.nil? && variable.empty?)
Mientras funciona, no me parece muy parecido a Ruby. ¿Es la forma más sucinta de expresar lo anterior?
Si estás en Rails .blank? debe ser el método que está buscando:
a = nil
b = []
c = ""
a.blank? #=> true
b.blank? #=> true
c.blank? #=> true
d = "1"
e = ["1"]
d.blank? #=> false
e.blank? #=> false
Entonces la respuesta sería:
variable = id if variable.blank?
variable = id if variable.to_s.empty?