2016-03-10 162 views
13

什麼是最好的方法來檢查一個變量是不是空白在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 
+2

每一種方法都應該工作。你問問哪種方式最好? –

+1

我想,第二個是最習慣的。如果你使用的是rails,你也可以使用'if variable.present?'或'if!variable.blank?',它處理空字符串和nils。 –

回答

17
string = "" 

unless string.to_s.strip.empty? 
    # ... 
end 
2

您可以使用

unless var.empty? 
    #do sth 
end 

unless var == "" 
    #do sth 
end 

或所有這些與if和否定者!

+1

如果var爲零,兩者都會失敗。 –

+2

這不是問題的一部分。要檢查,只需做:'除非var && var.empty?'。 – three

+1

這就是'.to_s'的用法(在原文中) - 處理nils。 –

0

我剛剛發現''.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. 
相關問題