我在Ruby中有代码,它在循环中定义变量。
print("What difficulty do you want on a scale of 1-5?\n")
loop do
difficulty = gets.to_i
break if difficulty == 1 or difficulty == 2 or difficulty == 3 or difficulty == 4 or difficulty == 5
end
range = 10 if difficulty == 1
range = 100 if difficulty == 2
range = 500 if difficulty == 3
range = 1000 if difficulty == 4
range = 5000 if difficulty == 5我得到一个错误,那就是变量的难度是未知的。我认为这是循环中的一个问题。我不知道如何把它变成另一种形式,以达到同样的目的。有什么办法可以使变量全局化吗?我试着寻找其他的方法,使它以另一种格式,但没有任何帮助。
发布于 2019-12-12 15:55:34
您可以在循环之外定义它,否则,它将受到范围限制。
尝试:
difficulty_range = {
1 => 10,
2 => 100,
3 => 500,
4 => 1000,
5 => 5000
}
difficulty = nil
loop do
print("What difficulty do you want on a scale of 1-5?\n")
difficulty = gets.to_i
break if (1..5).include?(difficulty)
end
p difficulty_range[difficulty]https://stackoverflow.com/questions/59308287
复制相似问题