【发布时间】:2010-10-18 20:42:07
【问题描述】:
所以我正在为我的班级做一个小而简单的项目,但由于某种原因,我无法使用变量访问值。
这是我的课:(我在使用 getAnswer 方法时遇到问题,尤其是 answerArray 数组)
#Create random fact array
class RandomFact
def initialize()
@randomNum = rand(5)
end
def getQuestion
randomNum = @randomNum
questionArray = Array.new
questionArray[0] = "Do you liek mudkipz?"
questionArray[1] = "Question2"
questionArray[2] = "Three"
questionArray[3] = "Reddit"
questionArray[4] = "4chan"
puts questionArray[randomNum]
return randomNum
end
def getAnswer(randomNum,answer)
answerArray = Array.new
answerArray[0] = "one"
answerArray[1] = "two"
answerArray[2] = "three"
answerArray[3] = "four"
answerArray[4] = "five"
return answerArray[randomNum]
end
end
这是我的班级:
randomNum = cgi['randomNum']
answer = cgi['answer']
puts newQuestion.getAnswer(randomNum,answer)
现在的问题是 randomNum 保存了以前形式的值。如果我在我从表单中提取值的位置打印出 randomNum,我会得到它。
如果我在 getAnswer 方法中打印出 randomNum,我会得到它。
如果我打印出 answerArray[0],我会得到一个值。
如果我打印出 answerArray[randomNum] 我什么也得不到。
它几乎是上面 getQuestion 方法的精确副本,并且可以正常工作。有什么意见吗?
【问题讨论】:
-
做一个
p randomNum和p answer这样我们就可以看到有关randomNum 和答案的详细信息。仅供参考,p obj相当于puts obj.inspect- 它提供的信息比puts obj.to_s更多,并且通常对调试更有用。