Ruby를 처음 사용했습니다. 루비에서 상속을 사용하는 것과 관련하여 질문이 있습니다.Ruby에서 다중 파일 상속 사용
나는이 다른 파일 이름 puppy.rb
class Puppy < Doggy
end
puts Doggy.new.bark
나는이 무엇입니까에서 강아지라는 이름의 또 다른 클래스를 작성했습니다 Doggy.rb
class Doggy
def bark
puts "Vicky is barking"
end
end
라는 이름의 파일 안에 도기로라는 클래스를 가지고 오류 :
Puppy.rb:1:in `<main>': uninitialized constant Doggy (NameError)
이러한 파일 (Doggy 및 Puppy)을 하나의 파일 안에 두어야합니다. 그렇지? , 내가 필요로 사용하여 시도하고 require_relative이 표시,하지만 여전히 나는 다른 사람들이 말씀하신 것을 외에도,
Puppy.rb:1:in `<main>': uninitialized constant Doggy (NameError)
class Puppy < Doggy
end
require_relative 'Doggy.rb'
puts Doggy.new.bark
Ankit이 (가) 대단히 감사합니다. File.expand_path ('doggy.rb')뿐만 아니라 과 함께 File.expand_path ('../ doggy.rb', __FILE__)가 필요합니다. 그 차이점은 무엇입니까? – Pawan
현재 시나리오에서 둘 다 똑같이 작동하지만, 하위 디렉토리에 필요한 파일이 있다면 아이디어를주고 싶습니다. 예를 들어'doggy.rb '가'animal/doggy.rb'에있는 경우'File.expand_path ('doggy.rb ')는 실패하고'File.expand_path ('../ animal/doggy. rb ', __FILE __)' – AnkitG
File.expand_path가 아니라, 유닉스와 비슷한 시스템에서 윈도우 상응하는 모습이 확실하지 않다면'$ : <<'같은 것을 할 것입니다. – Cubic