2011-11-05 4 views
3

상대 파일을 필요로하고 내가 내 스크립트를 실행 : 내가 추가하는 경우 루비 내가 정력와 함께 루비 v1.9.1을 사용하고

:!ruby "%" 

내 스크립트

잘 실행됩니다

$:.unshift File.dirname(__FILE__) 

을에 이 파일의 경로를 루비의 LOAD_PATH에 추가하십시오. 이 줄을 생략하면 로컬 스크립트에 대한 내 require 문이 더 이상 작동하지 않습니다.

파일 경로를 LOAD_PATH에 전달할 수 있습니까? 같은 뭔가 (completly 가상의) :

:!ruby "%" --add-to-load-path 

나는 몇 가지 조사를 한 전과 require_relative에 stubled하지만이 필요한 것과 같은 효과를 가지고 있으며, 작동하지 않습니다.

답변

3

당신은 루비 실행 파일의 -I 옵션을 사용하여 다음과 같이 쓸 수 있습니다 :

:!ruby -I%:p:h. % 

추가 정보 및 file modifiers에 대한 ruby --help를 참조하십시오.

편집 : 의견보기

+0

이 올바른 옵션 인 것처럼 보일 수 있지만 예제에서는 내 홈 디렉토리를 LOAD_PATH에 추가하고 내 스크립트 파일이있는 디렉토리는 추가하지 않습니다. 그것은'':! ruby ​​% -I와 같은 것일 수 있습니다. "% : p : h"''하지만 그것도 작동하지 않습니다 (LOAD_PATH에 아무 것도 추가하지 않음). – apparat

+2

당신은 아마':! ruby ​​% -I % : p : h'를 원할 것입니다. –

+1

거의 :)'':! ruby ​​-I % : p : h %''가 작동합니다. 고마워. – apparat