Есть ли лучший способ справиться с этим? - PullRequest
0 голосов
/ 11 июля 2011

Я уже несколько раз сталкивался с этим конкретным шаблоном, и это несколько раздражает, когда приходится объявлять переменную flag для правильной работы. Есть ли более простой способ упорядочить этот код, которого я просто не вижу?

flag = true
if x.is_okay?
  some_stuff_that_needs_x_to_be_okay
  if some_condition_that_depended_on_x
    actually_important_stuff
    flag = false
  end
end

if flag
  do_something_when_important_stuff_did_not
end

1 Ответ

0 голосов
/ 12 июля 2011

Вот один из способов без переменной flag.Разумно, если do_something_when_important_stuff_did_not - это одно простое утверждение, такое как вызов метода.

if x.is_okay?
  some_stuff_that_needs_x_to_be_okay
  if some_condition_that_depended_on_x
    actually_important_stuff
  else
    do_something_when_important_stuff_did_not()
  end
else
  do_something_when_important_stuff_did_not()
end
...