Ruby中是否可能出现类似的内容
if @subscription.state = ['trail', 'active']
#Do something
end
应该是自我解释的。
答案 0 :(得分:7)
也许:
['trail', 'active'].include?(@subscription.state)
答案 1 :(得分:5)
您可以使用ruby include?
Array
方法
if ['trail', 'active'].include?(@subscription.state)
#do something
end
答案 2 :(得分:0)
请尝试Array#include进行检查。
if ['trail', 'active'].include? @subscription.state
#Do something
end
我强烈建议阅读pickaxe book,因为这是一个基本的Ruby问题。
答案 3 :(得分:0)
您还可以使用:Enum#any?
@subscription = false
#=> false
[true,false].any? {|x| x == @subscription }
#=> true
@subscription = true
#=> true
[true,false].any? {|x| x == @subscription }
#=> true
@subscription = 15
#=> 15
[true,false].any? {|x| x == @subscription }
#=> false
if [true,false].any? {|x| x == @subscription } then
p "hi"
else
p "hello"
end
#"hello"
#=> "hello"