目前,我有这个:
self.profile_pic = user_info['image']
self.birthday = user_extra['birthday']
self.city = user_extra['location']['name']
有时user_extra或user_info var为空。我希望有一个默认值。怎么做?
提前致谢,
莫里斯
答案 0 :(得分:3)
这实际上取决于你想要的具体程度。是空白还是零?因为那里有很大的不同。在Ruby中,空字符串不会被评估为false。假设该变量的特定散列是nil,这将起作用......
self.profile_pic = user_info['image'] || "default"
self.birthday = user_extra['birthday'] || "default"
self.city = user_extra['location']['name'] || "default"
或者您可以使用三元运算符进行更一般的检查以确保变量本身不是nil ...
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']
这取决于您拥有的确切条件,以及您想要去兔洞的距离。 :)希望有所帮助!