foo.rb는 puts __FILE__
irb -r이 절대 경로를 __FILE__으로 만드는 이유는 무엇입니까?
irb -r ./foo.rb
가 foo.rb. 내게 절대 경로를 제공하는 하나의 라이너 ruby foo.rb
을 실행하면 이것은 작동하지 않습니다. 왜 그것은 irb에서 일어나는 것입니까?
IRB 0.9.6 (09/06/30), 루비 1.9.3p327
foo.rb는 puts __FILE__
irb -r이 절대 경로를 __FILE__으로 만드는 이유는 무엇입니까?
irb -r ./foo.rb
가 foo.rb. 내게 절대 경로를 제공하는 하나의 라이너 ruby foo.rb
을 실행하면 이것은 작동하지 않습니다. 왜 그것은 irb에서 일어나는 것입니까?
IRB 0.9.6 (09/06/30), 루비 1.9.3p327
이 IRB에서 일어나는 이유는 다음과 같은 내용으로 bar.rb
라는 프로그램을 작성했다면이 일어날 것 같은 이유입니다 . 당신이 IRB를 사용하여 당신이로 필요로하는 것을 발견 할 것이다
require './foo'
이 (가) 필요가 bar.rb
를 호출하는 것보다 다르지 않습니다. 문서에서
__FILE__
- 현재 실행중인 파일의 이름, 경로 응용 프로그램이 을 시작한 디렉토리에 상대적 (또는 현재 디렉토리를 포함하여,이 있었는지 변경됨).
여기에는 응용 프로그램이 시작된 디렉토리에 상대적인 경로가 포함됩니다. irb 또는 bar가 어디에 있는지 누가 알 수 있습니까? 명확하지 않은 경우 경로가 제공됩니다.