Ruby 多格表达式
我有两个变量Ruby 多格表达式,ruby,Ruby,我有两个变量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 w
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
任何猴子补丁都有帮助吗?目前还不清楚字段1和字段2可以包含哪些内容。您可以在两个元素的数组上创建一个switch语句
case [field1, field2]
when [1,1]
puts "a"
when [1,2]
puts "b"
else
puts "I got nothing"
end
但这样做可能很少是一个好主意,所以你也可以做其他事情,这样你就可以检查任何需要处理的情况
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
将其包装在一个循环中:
[field1,field2]。每个{f | case f…}
或将您的案例放在一个方法中并为每个字段调用它。[field1,field2]
是否等于['val1',val2']
或['val2',val1']
?如果是这样,['val1','val2']。点击{a | a.reverse!如果field1=='val2'}。每个{v |放置v}
。