Как обернуть блок кода с помощью оператора if, имея в виду рубиновый способ сделать это? - PullRequest
1 голос
/ 13 апреля 2011

У меня есть такой блок:

Blah.where(....).each do |b|
  # Code here
end

Я хочу запустить это, только если some_var не nil или пусто. Есть ли другой способ сделать это, кроме:

if !some_var.nil
  Blah.where(....).each do |b|
    # Code here
  end
end

Ответы [ 3 ]

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

Прежде всего вам может потребоваться

unless some_var.nil?

.

ТАКЖЕ вы можете использовать end if в конце блока

2 голосов
/ 13 апреля 2011

Вы можете заглянуть в камень AndAnd для вдохновения в решении проблем с нулем.Для обзора проверьте мой ответ здесь .

Кроме того, вероятно, лучший способ сделать

Blah.where(...).each do |a|
   ...
end unless some_var.nil?
2 голосов
/ 13 апреля 2011
Blah.where(....).each do |b|
  #...
end if some_var
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...