在if语句中一起使用Ruby的等号(==)和或()运算符的最简洁方法是什么?
我在 Ruby 中有一个 if 语句,它结合了 == 和 || 运算符,而且它非常冗长。写这个的更简洁的方法是什么:
if number == "1.0" || number == "2.0" || number == "3.0" || number == "4.0" || number == "5.0"
hierarchy = "Chapter"
end
回答
hierarchy = "Chapter" if ["1.0", "2.0", "3.0", "4.0", "5.0"].include?(number)
或者正如@Stefan 评论的那样,您可以使用百分比文字
hierarchy = "Chapter" if %w[1.0 2.0 3.0 4.0 5.0].include?(number)
- Less noisy: `%w[1.0 2.0 3.0 4.0 5.0]` (along with `include?` or `in?`)
- In Rails we can reverse it with `if number.in?(["1.0", "2.0", "3.0", "4.0", "5.0"])` which can be more readable sometimes
THE END
二维码