什麼是最好的方法來檢查一個變量是不是空白在else(如果條件在Ruby中(不是Rails)?Ruby方法來檢查一個字符串是否不爲空?
elsif not variable.to_s.empty?
# do something
end
或
elsif !variable.to_s.empty?
# do something
end
或
elsif variable.to_s.length > 0
# do something
end
什麼是最好的方法來檢查一個變量是不是空白在else(如果條件在Ruby中(不是Rails)?Ruby方法來檢查一個字符串是否不爲空?
elsif not variable.to_s.empty?
# do something
end
或
elsif !variable.to_s.empty?
# do something
end
或
elsif variable.to_s.length > 0
# do something
end
string = ""
unless string.to_s.strip.empty?
# ...
end
您可以使用
unless var.empty?
#do sth
end
或
unless var == ""
#do sth
end
或所有這些與if
和否定者!
。
如果var爲零,兩者都會失敗。 –
這不是問題的一部分。要檢查,只需做:'除非var && var.empty?'。 – three
這就是'.to_s'的用法(在原文中) - 處理nils。 –
我剛剛發現''.empty?
回報true
但' '.empty?
回報false
。即使to_s.length
爲' '
也不爲零。
也許是更好地使用如擠' '.squish.empty?
Alas squish is in rails and not in ruby. Probably one should do ' '.strip.empty? to get the result.
每一種方法都應該工作。你問問哪種方式最好? –
我想,第二個是最習慣的。如果你使用的是rails,你也可以使用'if variable.present?'或'if!variable.blank?',它處理空字符串和nils。 –