1
我一直在爲一個班級學習Ruby,並且一直在寫樣本遊戲。這是一個有點我的類別之一:如何正確地重寫Ruby中的實例方法?
class Player
def askIfTake
puts("Would you like to take a card? > ")
input = gets.chomp
input.downcase!
if input == "y" or input == "yes"
return 1
elsif input == "n" or input == "no"
return 0
else
puts("Invalid input. Please type y or n.")
return askIfTake
end
end
end
我再有另一個類:
class PlayerAI < Player
def initialize
super
end
def askIfTake
puts("this is an AI")
return rand(2)
end
end
的問題是,當我創建PlayerAI的一個實例,並嘗試從實例調用askIfTake它會調用Player類中聲明的方法。這是爲什麼發生?
謝謝。結果我只是忽略了一些簡單的東西,當我宣佈這個課程時,我實際上是在宣佈玩家課程。我正在尋找一個小時左右的問題,我沒有看到這個簡單的錯字 –
@AohmZ:隨着時間的推移,你會更快地選擇拼寫錯誤;最終你會有一個「第六個[編程]意義」,並且能夠在發生錯誤之前發現它們。) – Peter
我已經編程了一段時間,它實際上只是這些罕見的錯誤之一。我想,當你陷入一種新語言時,你忽略了一些東西:) –