저는 지금 몇 달 동안 clojure를 사용 해왔고 실제로 이해할 수없는 한 가지는 네임 스페이스 이름의 대시가 파일 시스템에서 밑줄로 표시되어야하는 이유입니다. 아무도 나에게 이것을 설명 할 수 있고 파일 이름에도 대시를 사용할 수 있습니까?왜 파일 시스템에서 clojure가 이름의 대시 (-)를 밑줄로 변환합니까?
21
A
답변
26
Java 상호 운용성에 필요한 해결 방법입니다.
Clojure 네임 스페이스가 Java .class 파일로 컴파일 된 AOT (ahead-of-time) 인 경우 유효한 Java 식별자 이름이 있어야합니다. 대시는 Java 클래스 이름에서 유효하지 않으므로 Clojure는이를 밑줄로 변환합니다. 또한 *
과 같은 문자를 _STAR_
과 같은 단어로 변환합니다.
3
디스크에있는 .class
파일에 Clojure의 기능에 밑줄이 있다는 의미입니까? 나는 그것이 그 파일 이름에 대시를 지원하지 않는 JVM과 관련이 있다고 읽었을 것입니다. (또는 최소한 그것이 그것을 지원한다는 보장이 아님)
이것은 클래스 파일 이름의 제한이며 Clojure는이 문제를 자동으로 처리합니다. 자신의 코드는 여전히 파일 이름에 대시가있는 파일을 처리 할 수 있습니다.
죄송하지만 지금 당장은 참고 자료가 없습니다.
관련 문제
- 1. 왜 이름의 차이가 있습니까?
- 2. SYS_GUID()를 varchar로 어떻게 변환합니까?
- 3. UNIX라는 이름의 파일 끝 파일
- 4. 분산 파일 시스템에서 파일 순회
- 5. Clojure가 java.util.Collection에서 ClassCastException을 throw합니다.
- 6. 터미널에서 파일 이름의 매스를 대체 하시겠습니까?
- 7. 파일 시스템에서 문서 검색
- 8. Clojure가 컴파일되거나 해석됩니까?
- 9. Clojure가 Azure에서 실행됩니까?
- 10. 파일 이름의 일부를
- 11. 업로드 파일 이름의 공간 주소 지정 방법
- 12. 공백이있는 파일 이름의 이름 바꾸기
- 13. GZipStream : 왜 압축 후 기본 64로 변환합니까?
- 14. Windows 파일 이름의 메타 데이터 구분 기호
- 15. Java 파일이 밑줄로 표시됩니다.
- 16. FAT32 파일 시스템에서 파이썬으로 작업하기
- 17. 대시 '-'를 어떻게 FGREP 할 수 있습니까?
- 18. System.Drawing Image.From 사용자의 파일 시스템에서 파일
- 19. 다른 파일 시스템에서 같은 파일 사용
- 20. 안드로이드의 파일 시스템에서 리소스 작성
- 21. 리눅스 파일 시스템에서 루프 만들기
- 22. 파일 시스템에서 실행되는 SSIS pckage
- 23. UNIX 시스템에서 JAR 파일 업데이트
- 24. ext3 파일 시스템에서 블록을 읽으시겠습니까?
- 25. 전체 시스템에서 파일 확장자 검색
- 26. mv() Linux ext3 파일 시스템에서
- 27. ASP .NET 일본어 파일 이름의 파일 다운로드
- 28. Clojure가 파일의 행을 인식하고 분리하도록하십시오.
- 29. Clojure가`* assert *`변수를 존중하는 방법?
- 30. 파일 이름의 Eclipse 자동 완성
다른 점은 AOT가 아닌 것입니까? – Chris
번호 Clojure 컴파일은 항상 동일합니다. AOT- 컴파일은 클래스 파일을 디스크에 씁니다. –