Also mache ich ein kleines, einfaches Projekt für meine Klasse und aus irgendeinem Grund kann ich nicht auf einen Wert zugreifen, der eine Variable verwendet.Ruby-Arrays - kann nicht auf Wert zugreifen
Das ist meine Klasse: (ich Probleme mit der getAnswer Methode habe, insbesondere die answerArray Array)
#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
Das ist meine Klasse der Klasse ist:
randomNum = cgi['randomNum']
answer = cgi['answer']
puts newQuestion.getAnswer(randomNum,answer)
Nun ist die Sache ist, dass randomNum einen Wert aus einem vorherigen Formular enthält. Wenn ich RandomNum direkt darunter ausdrücke, wo ich den Wert aus dem Formular heraushole, bekomme ich es.
Wenn ich randomNum innerhalb der Methode getAnswer drucke ich bekomme es.
Wenn ich AntwortArray [0] drucke, erhalte ich einen Wert.
Wenn ich antwortArray [randomNum] ausdrucken bekomme ich nichts.
Es ist so ziemlich eine exakte Kopie der Methode getQuestion von oben und das funktioniert. Irgendwelche Eingaben?
Sie ein 'p randomNum' und' p answer' so können wir Details über randomNum und Antwort sehen. FYI 'p obj' ist das Äquivalent von' puts obj.inspect' - es gibt mehr Informationen als 'puts obj.to_s' und ist generell besser zum Debuggen. – rampion