我目前正在使用Ruby开发基于文本的RPG,但是编程代码中存在一些错误。代码很长,所以我会提供Source Code HERE的链接。
问题出现在第113行。每当我为case randEvent1输入“y”时,它接受它并在when语句中执行以下行,但是当我输入“yes”时,它会跳过所有这些行转到该行:
puts "Do you want to go to a Tavern next?"
puts "Or maybe you want to go to the forest?"
我的问题是,为什么当我为randEvent1输入“yes”时它会跳过这一行,即使我认为如果randEvent1 == "y" || "yes"
它会执行以下的when语句?
当我为RandEvent1案例输入“no”时,也会出现此问题。
在case..when语句中执行||
是否有可能出现问题?语句中的或运算符的语法是否与if语句不同?
答案 0 :(得分:2)
案例陈述不接受像||
这样的if
。具有两个或更多可能输入的情况的正确语法是,
。因此,它不应该case 'y' || 'yes'
,而应该是case 'y', 'yes'
。