ruby中switch语句的基本语法是
case expression
when condition1
statements1
when condition2
statements2
else
statements
end
有没有办法在语句中获取控制表达式值?
意味着,是否存在一些存储表达式值的变量,可以直接使用 - 并且不需要在语句体中再次调用表达式?
答案 0 :(得分:3)
没有神奇的变量。使用普通变量没有问题:
case a = expensive_method
when condition1
puts "#{a} meets condition 1"
when condition2
puts "#{a} meets condition 2"
end
答案 1 :(得分:0)
不,没有。但你可以这样做:
case var = expression
when condition1
statements1
when condition2
statements2 # use var whenever you like..
else
statements
end
答案 2 :(得分:0)
直接用内联方式分配变量:
case result = expression
when condition1
result + 1
when condition2
result + 2
else
result
end