加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 如何尽可能简洁地说“如果x == A或B或C”?

发布时间:2020-12-16 19:02:28 所属栏目:百科 来源:网络整理
导读:我很确定 ruby有一个习惯用法. 我说的代码中有太多的地方 if (x == A) || (x == B) || (x ==C) do_somethingelse do_something_elseend 我知道我也可以 case xwhen A,B,C do_somethingelse do_something_elseend 但我更喜欢使用if else,如果有一个很好的成语
我很确定 ruby有一个习惯用法.

我说的代码中有太多的地方

if (x == A) || (x == B) || (x ==C)
  do_something
else
  do_something_else
end

我知道我也可以

case x
when A,B,C
   do_something
else
   do_something_else
end

但我更喜欢使用if else,如果有一个很好的成语,使它更简洁.

解决方法

你可以更像这样整理你的案例陈述
case x
when A,C then do_something
else do_something_else
end

或者如果它是重复模式,则将其滚动到Object上的方法中

class Object
  def is_one_of?(*inputs)
    inputs.include?(self)
  end
end

然后用它作为

if x.is_one_of?(A,C)
  do_something
else
  do_something_else
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读