2009-10-10 3 views
0

나는 뭔가를 여기에서 놓치고 있다고 생각합니다.Ruby에서 디렉토리 안에있는 파일을 어떻게 요구합니까?

 
myapp 
|-lib 
    |-package1 
    |-dostuff.rb 
    |-package2 
    |-dostuff.rb 

irb 콘솔에서 나는 내 실제 프로젝트 (레일 응용 프로그램)에 추가하기 전에 라이브러리를 테스트하기 위해 노력하고있어 :이 같은 디렉토리가 있습니다. 그러나 다음을 입력하십시오 :

require 'lib/package1/dostuff' 

로드 할 파일을 찾을 수 없다는 오류를 반환합니다. 로드 경로에 lib 디렉토리를 추가했지만 파일을로드 할 수 없습니다.

무엇을 잊어 버리시겠습니까? 두 파일 이름은 동일 할 필요는 없지만 처음부터 어떻게해야합니까 (soap4r을 사용하여 호출해야하는 일부 웹 서비스에서 자동 생성되며 각 패키지는 다른 웹 서비스 API 그룹을 나타냄)

답변

5

"lib"디렉토리가로드 경로에있는 경우, require에 대한 인수는 lib에 상대적이어야합니다. lib가 없으므로 require 'package1/dostuff'이므로 lib/lib/package1/dostuff.rb을 찾습니다.

+0

그게 효과가 있었어! 감사! 나는 그것이 단순한 무엇인가 알고 있었다! –

0

루비 1.9에는 require_relative "../package2/dostuff"package1/dostuff.rb에서 처리 할 수있는 새로운 require_relative 메소드가 있습니다.

관련 문제