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
: 여기 내 클래스 중 하나의 비트는 내가 PlayerAI의 인스턴스를 생성하고 해당 인스턴스에서 askIfTake를 호출 할 때
class PlayerAI < Player
def initialize
super
end
def askIfTake
puts("this is an AI")
return rand(2)
end
end
문제이며, , Player 클래스에서 선언 된 메서드를 호출합니다. 왜 이런 일이 일어나는 걸까요?
감사합니다. 사실 단순한 것을 간과하고 있었고 클래스를 선언했을 때 실제로 플레이어 클래스를 선언하고있었습니다. 문제에 대해 한 시간 정도 찾고 있었는데 그 간단한 오타를 보지 못했습니다. –
@AohmZ : 시간이 지남에 따라 오타를 빨리 찾아 낼 수 있습니다. 결국 당신은 "여섯 번째 프로그래밍"감각을 가지게 될 것이고 심지어 그들이 발생하기 전에 버그를 발견 할 수있을 것입니다. – Peter
저는 잠시 동안 프로그래밍을 해왔습니다. 그것은 그 드문 실수 중 하나였습니다. 나는 당신이 새로운 언어에 빠졌을 때 물건을 간과한다고 생각한다. :) –