2011-04-04 94 views
0

目前,我有這樣的:如果變空就默認

self.profile_pic = user_info['image'] 
self.birthday = user_extra['birthday'] 
self.city = user_extra['location']['name'] 

有時user_extra或USER_INFO var爲空白。我想有一個默認值,然後。這個怎麼做?

由於提前,

莫里斯

回答

3

這真的取決於你想具體怎麼得到的。它是空白還是零?因爲那裏有很大的差別。在Ruby中,空白字符串不計算爲false。假設該變量的具體哈希是零,這將工作...

self.profile_pic = user_info['image'] || "default" 
self.birthday = user_extra['birthday'] || "default" 
self.city = user_extra['location']['name'] || "default" 

或者你可以擁有它是一個更一般的檢查,以確保變量不是零本身,使用三元運算符。 ..

self.profile_pic = user_info ? user_info['image'] : "default" 
self.birthday = user_extra ? user_extra['birthday'] : "default" 
self.city = user_extra ? user_extra['location']['name'] : "default" 

或者,如果它實際上是空白的,而不是零,更多的東西像這樣...

self.profile_pic = user_info.empty? ? "default" : user_info['image'] 
self.birthday = user_extra.empty? ? "default" : user_extra['birthday'] 
self.city = user_extra.empty? ? "default" : user_extra['location']['name'] 

這要看你有確切的條件,以及如何遠了兔子洞喲你想去。 :)希望幫助!

+0

是的,thx!那樣做了! – 2011-04-04 17:59:45

相關問題