라켓 경로 라이브러리는 파일과 디렉토리를 약간 다르게 처리합니다. Unix 기반의 Racket 배포판에서는 디렉토리의 끝에 /
이라는 꼬리가 있습니다. in-directory
및 path-only
과 같은 여러 기능은이 정보를 사용하여 파일 및 디렉토리로 이어지는 경로를 다르게 처리합니다.경로가 라켓의 디렉토리 경로인지 확인
경로를 만드는 데 권장되는 방법 인 build-path
에는 디렉터리 경로를 만드는 데 유용한 메커니즘이 없습니다. 내가 문자열로 경로를 확인하고 string->path
을 사용할 수 있습니다 알고 있지만, 직접 build-path
을 사용하는 것보다 더 취성 될 것입니다 :
> (string->path "a/b/")
#<path:a/b/>
내가 build-path
결합되어 할 수있는 또 다른 것은 및 path-only
를 추가 '쓰레기를 추가 '요소를 제거한 경로로 이동합니다. 그러나 나는 그때 그 '쓰레기'문자열을 만들어야 할 때 clunky입니다.
> (path-only (build-path "a" "b" "trash"))
#<path:a/b/>
난 그냥 넣어 '수'는 심지어 수 없습니다 자사의 디렉토리 경로가 있지만, 다음의 경로 자체가 끝에 .
을 가지고 있음을 보장 build-path
기능에 .
(또는 'same
) path-only
제거 :
> (build-path "a" "b" 'same)
#<path:a/b/.>
다음의 세 가지 디렉토리 경로로 경로를 설정할 수 있지만, 디렉토리 경로로 기존의 라켓 경로를 설정하는 어떤 청소기 방법은 무엇입니까?