假设您有一个包含多个 OR 的条件,例如
if action == 'new' || action == 'edit' || action == 'update'
另一种写法是:
if ['new', 'edit', 'action'].include?(action)
但这感觉像是编写逻辑的“倒退”方式。
是否有任何内置方法可以执行以下操作:
if action.equals_any_of?('new', 'edit', 'action')
?
更新 - 我非常热衷于这个小片段:
class Object
def is_included_in?(a)
a.include?(self)
end
end
更新 2 - 基于以下评论的改进:
class Object
def in?(*obj)
obj.flatten.include?(self)
end
end