如何最好地遍历Ruby中的多个函数?

时间:2017-05-09 10:32:19

标签: ruby

是否有更简洁的方法来循环通过许多条件?

def is_this_whole_thing_true?
  result = false
  result = true if condition_1?
  result = true if condition_2?
  result = true if condition_3?
  result = true if condition_4?
  result = true if condition_5?
  result = true if condition_6?
  result = true if condition_7?
  result
end

感谢您的帮助。

2 个答案:

答案 0 :(得分:5)

如果你不打算创建一个完整的数组,我认为这是最好的选择

def is_this_whole_thing_true?
  conditions = [condition1?, condition2?, condition3?, condition4?]
  conditions.any?
end

答案 1 :(得分:1)

你可以简单地把&&条件如下:

def is_this_whole_thing_true?
  condition_1? && condition_2? && condition_3? && ...
end

事实上,如果任何条件为真,那么您在该方法中尝试做的就是返回true,然后使用||

def is_this_whole_thing_true?
  condition_1? || condition_2? || condition_3? || ...
end

这样做的一个优点是,它不会检查所有条件,只要条件中的任何一个变为true,它就会返回。