标签: ruby syntax string-literals
我写了一个像
case x when "one" "I" when "two" "II" end
它不会导致语法错误,并且无论nil的值如何,始终都会返回x。我认为它应该导致语法错误,但事实并非如此。为什么呢?
nil
x
答案 0 :(得分:3)
以空格分隔的字符串文字连接起来(参见this post)。这会将您的when语句转换为合法的潜在匹配而无需执行任何操作,这就是您始终获得nil的原因。
when