【发布时间】:2020-12-09 13:05:25
【问题描述】:
我想这样写条件,但是太长了。 我怎样才能使它更简单?
if A
~~~
elsif B == b || B == c || B == d || B == e <-- This part is too long.
~~~
else
~~~
end
我以为可以写成下面这样,但是当我在rails控制台上尝试时,它给了我一个错误。
elsif B == (b || c || d || e)
【问题讨论】:
-
“可以写成下面这样”是什么意思?当你尝试它时发生了什么?
-
取决于对象是什么。为什么不做
elsif [b, c, d, e].include? B这也取决于你所说的“让更简单”是什么意思?可能是在编译级别上编写 case 语句更好,等等。 -
另一种方式:
...elsif; case(B); when b,c,d,e; ~~~~~; end; else; ~~~~; end;
标签: ruby-on-rails ruby conditional-statements