если переменная пуста, сделать по умолчанию - PullRequest
0 голосов
/ 04 апреля 2011

В настоящее время у меня есть это:

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

Иногда переменная user_extra или user_info пуста.Я хотел бы иметь значение по умолчанию тогда.Как это сделать?

Заранее спасибо,

Морис

1 Ответ

3 голосов
/ 04 апреля 2011

Это действительно зависит от того, насколько конкретно вы хотите получить. Это пустой или ноль? Потому что там есть большая разница. В Ruby пустая строка не оценивается как ложная. Если предположить, что конкретный хэш этой переменной равен nil, это сработает ...

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']

Это зависит от ваших конкретных условий и от того, насколько далеко вы хотите пройти по кроличьей норе. :) Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...