문제

나는 그것이 차이를 만들어야하는지 모르겠지만 Windows에서 Ruby를 실행하고 있습니다. 내가하고 싶은 것은 현재 작업 디렉토리의 절대 경로를 얻는 것입니다. 이것이 IRB에서 가능합니까? 분명히 스크립트에서 사용할 수 있습니다 File.expand_path(__FILE__)

그러나 IRB에서 나는 다음을 시도했고 "허가 거부"오류를 얻었습니다.

File.new(Dir.new(".").path).expand
도움이 되었습니까?

해결책

Dir.pwd 트릭을하는 것 같습니다.

http://ruby-doc.org/core/dir.html#method-c-pwd

다른 팁

File.expand_path File.dirname(__FILE__) 이 명령이 호출 된 파일에 대한 디렉토리를 반환합니다.

하지만 Dir.pwd 작업 디렉토리를 반환합니다 (실행과 동일한 결과 pwd 터미널에서)

현재 실행 스크립트와 관련된 경로는 루비 2.0 당신은 또한 사용할 수 있습니다

__dir__

따라서 이것은 기본적으로 동일합니다

File.dirname(__FILE__)

이렇게하면 현재 파일의 작업 디렉토리가 제공됩니다.

File.dirname(__FILE__)

예시:

current_file : "/users/nemrow/sitm/folder1/folder2/amazon.rb"

결과 : "/사용자/nemrow/sitm/folder1/folder2"

현재 RB 파일의 디렉토리의 전체 경로를 얻으려면 :

File.expand_path('../', __FILE__)

이를 통해 모든 디렉토리에있는 파일의 절대 경로를 얻을 수 있습니다.

File.join(Dir.pwd,'some-dir','some-file-name')

이것은 돌아올 것입니다

=> "/User/abc/xyz/some-dir/some-file-name"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top