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}