gpt4 book ai didi

Ruby - 用于确定对象是否包含在列表中的替代样式?

转载 作者:数据小太阳 更新时间:2023-10-29 07:43:27 24 4
gpt4 key购买 nike

假设您有一个包含多个 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

最佳答案

使用正则表达式?

action =~ /new|edit|action/

或者:

action.match /new|edit|action/

或者只编写一个在您的应用上下文中具有语义意义的简单实用方法。

关于Ruby - 用于确定对象是否包含在列表中的替代样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10388683/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com