Я не хочу делать 2 вызова API для этого - PullRequest
1 голос
/ 20 мая 2011

Следующий код выполняет две вещи:

  1. Проверяет, есть ли у элемента ключ "checkins"
  2. Получает значение checkins, если у него есть ключ

Мне действительно не нравится делать два вызова API для этого. Это действительно замедлило мой код, но я вынужден, потому что, если я сделаю вызов API для проверки, а ключ не существует, то мой код взорвется. Должен быть лучший способ сделать это.

if graph.get_object(self.place_id).has_key?("checkins") 
  checkins =  graph.get_object(self.place_id)["checkins"] - self.checkins
else 
  checkins = self.checkins
end

Ответы [ 2 ]

1 голос
/ 20 мая 2011
graph_checkins = graph.get_object(self.place_id)["checkins"]
checkins = if graph_checkins
             graph_checkins - self.checkins
           else
             self.checkins
           end
1 голос
/ 20 мая 2011

Вот что я имел в виду под моим комментарием:

graph_object = graph.get_object(self.place_id) # assign return to variable
if graph_object.has_key?("checkins")
  # reference returned object, no need to request it again
  checkins = graph_object["checkins"] - self.checkins
else
  checkins = self.checkins
end

* Я бы использовал пример Wayne Conrad, проще.

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