我有两个变量field1
和field2
。我需要对每个变量做一个case
声明:
case field1
when "val1"
puts field1
when "val2"
puts field2
end
case field2
when "val1"
puts field1
when "val2"
puts field2
end
如何在单个case
语句中实现上述内容?像这样:
case field1, field2
when "val1"
puts field1
when "val2"
puts field2
end
对猴子打补丁有帮助吗?
答案 0 :(得分:1)
目前还不清楚字段1和2可以包含什么。您可以在由两个元素组成的数组上使用switch语句。
case [field1, field2]
when [1,1]
puts "a"
when [1,2]
puts "b"
else
puts "I got nothing"
end
但是可能很少会是一个好主意,因此您也可以执行ififif,这样您就可以检查要处理的任何条件
if field1 == field2
puts "Impossible!"
elsif field1.length > field2.length
puts "Something"
elsif [field1, field2].any?(&:nil?)
puts "I need two fields there, my friend"
else
puts "I am disappointed"
end