지정된 디렉토리가 Ruby에 있는지 확인하는 방법
저는 지정된 디렉토리의 존재 여부에 따라 서브버전 URL을 자동으로 체크아웃하거나 업데이트하는 스크립트를 작성하려고 합니다.
어떤 이유에서인지 코드가 작동하지 않고 잘못된 경우에도 항상 true를 반환합니다.
def directory_exists?(directory)
return false if Dir[directory] == nil
true
end
내가 뭘 잘못하고 있는 거지?
찾으려는 파일이 단순한 파일이 아니라 디렉터리인지 여부가 중요한 경우 사용할 수 있습니다.File.directory?
또는Dir.exist?
파일이 존재하고 디렉터리인 경우에만 true가 반환됩니다.
별도로, 메소드를 작성하는 더 관용적인 방법은 Ruby가 메소드 내부의 마지막 식을 자동으로 반환한다는 사실을 활용하는 것입니다.따라서 다음과 같이 쓸 수 있습니다.
def directory_exists?(directory)
File.directory?(directory)
end
이 경우 메소드를 사용할 필요가 없습니다.
다음과 같이 사용할 수도 있습니다.
Dir.exist?('Directory Name')
돌아온다
true
'디렉토리 이름'이 디렉토리인 경우,false
그렇지 1않으면
다른 모든 대답은 정확하지만, 사용자의 홈 디렉토리에서 디렉토리를 확인하려는 경우 문제가 발생할 수 있습니다.다음을 확인하기 전에 상대 경로를 확장해야 합니다.
File.exists? '~/exists'
=> false
File.directory? '~/exists'
=> false
File.exists? File.expand_path('~/exists')
=> true
File.exist?("directory")
Dir[]
배열을 반환하므로 절대 그렇지 않을 것입니다.nil
당신이 당신의 방식대로 하고 싶다면, 당신은 할 수 있습니다.
Dir["directory"].empty?
돌아올 것입니다.true
발견되지 않았다면요
다음을 사용할 수 있습니다.
test ?d, 'some directory'
그것은 그것의 기원을 https://ss64.com/bash/test.html 에서 얻으며, 당신은 bash를 알게 될 것입니다.test
이 플래그 있음-d
디렉터리가 있는지 테스트하기-d file True if file is a Directory. [[ -d demofile ]]
언급URL : https://stackoverflow.com/questions/1085218/how-to-check-if-a-given-directory-exists-in-ruby
'programing' 카테고리의 다른 글
400 프로젝트에 대한 청구 계정을 찾을 수 없습니다.서비스 활성화를 위해 청구를 활성화해야 합니다. (0) | 2023.06.21 |
---|---|
기록에서 커밋 제거 (0) | 2023.06.21 |
VBA 코드를 사용하여 Excel 2003에서 Excel 워크시트를 이미지로 내보내는 방법은 무엇입니까? (0) | 2023.06.16 |
데이터 프레임에서 특정 열 추출 (0) | 2023.06.16 |
Vuex에서 개체를 올바르게 혼합하고 격리하는 방법 (0) | 2023.06.16 |