Donc je fais un petit projet simple pour ma classe et pour une raison quelconque, je ne peux pas accéder à une valeur en utilisant une variable.Ruby arrays - ne peut pas accéder à la valeur
C'est ma classe: (Je rencontre des problèmes avec la méthode RenvoieQuestion, en particulier le tableau 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
C'est ma classe à la classe:
randomNum = cgi['randomNum']
answer = cgi['answer']
puts newQuestion.getAnswer(randomNum,answer)
Maintenant, la chose est ce randomNum détient une valeur d'un formulaire précédent. Si j'imprime aléatoirement le nombre exact sous lequel je tire la valeur du formulaire, je l'obtiens.
si j'imprime randomNum à l'intérieur de la méthode getAnswer je l'obtiens.
Si j'imprime answerArray [0], j'obtiens une valeur.
Si j'imprime answerArray [randomNum] je n'ai rien.
Il est à peu près une copie exacte de la méthode de getQuestion d'en haut et que l'on travaille. Toute entrée?
ne un 'p randomNum' et' p answer' afin que nous puissions voir les détails sur randomNum et réponse. FYI 'p obj' est l'équivalent de' puts obj.inspect' - il donne plus d'informations que 'puts obj.to_s' et est généralement plus utile pour le débogage. – rampion