Ruby - case语句的隐含对象

Eth*_*son 4 ruby case-statement

在Ruby中,有没有办法获取case语句的隐含对象?

case 2+2
when '2'
  puts '2'
else
  puts "#{some_object}"
end
Run Code Online (Sandbox Code Playgroud)

其中'some_object'将是由case评估的任何语句的返回值

sep*_*p2k 8

不,没有.你必须做的事情如下:

some_object = 2+2
case some_object
when '2'
  puts '2'
else
  puts some_object
end
Run Code Online (Sandbox Code Playgroud)

要么

case some_object = 2+2
when '2'
  puts '2'
else
  puts some_object
end
Run Code Online (Sandbox Code Playgroud)