2011-04-04 96 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