Ruby - 退出 IF block

标签 ruby if-statement exit

在 IF block 中,我需要检查某些条件是否为真,如果为真,则退出 block 。

#something like this
if 1 == 1
  return if some_object && some_object.property
  puts 'hello'
end

我该怎么做?

最佳答案

你不能像那样跳出if。您可以做的是向其添加一个子句:

if (cond1)
  unless (cond2)
    # ...
  end
end

如果您遇到逻辑嵌套过多的问题,并且需要一种更好地展平它的方法,也许您想做的是事先计算一个变量,然后仅在需要时才深入研究:

will_do_stuff = cond1
will_do_stuff &&= !(some_object && some_object.property)

if (will_do_stuff)
  # ...
end

有很多方法可以避免深度嵌套结构而不必破坏它。

关于Ruby - 退出 IF block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7825093/

相关文章:

python - 为什么 != 无法在 Python 中检查整数

r - 如何使用来自多个其他列的所有非 NA 值创建新列?

erlang - 崩溃后如何恢复进程状态?

c++ - 如何使 C++ 控制台程序退出?

c - 如果在C中退出(exitcode)会发生内存泄漏?

ruby - 有没有没有 (*)splat 参数的方法来在 Ruby 中传递多个参数?

ruby - 如何在minitest中模拟另一个类的实例方法

java - 我无法导航到我的 Selenium 代码的其他部分,总是失败

html - 不规则的 Bootstrap 列换行

ruby - 去掉ruby项目中的很多require_relatives