46
어떻게 문자열이 변환 할 수의 난이 LazySeq어떻게 LazySeq 문자를 Clojure의 문자열로 변환 할 수 있습니까?
(\b \ \! \/ \b \ \% \1 \9 \/ \. \i \% \$ \i \space \^@)
같은 java.lang.Character의의 있다고 가정 해 봅시다? 나는 명백한
(String. my-char-seq)
을 시도했지만 그것은
java.lang.IllegalArgumentException: No matching ctor found for class java.lang.String (NO_SOURCE_FILE:0)
[Thrown class clojure.lang.Compiler$CompilerException]
문자열 생성자가 원시적 문자 []를 기대하기 때문에 내 생각을 던져 대신 LazySeq의. 그래서 나는 같은 것을 시도했습니다.
(String. (into-array my-char-seq))
그러나 같은 예외를 던집니다. 문제는 이제 에 배열이 char [] 대신 java.lang.Character []을 반환한다는 것입니다. 이처럼 실제로 문자 시퀀스를 생성하기 때문에 이것은 실망 스럽습니다.
(map #(char (Integer. %)) seq-of-ascii-ints)
기본적으로 ASCII 문자를 나타내는 int seq가 있습니다. 65 = A 등 내가 원시 타입 강제 변환 함수 (char x)을 명시 적으로 사용하는 것을 볼 수 있습니다. 이 의미
내 지도 기능은 원시 문자하지만 전반적으로 java.lang.Character의 객체를 반환하는 Clojure의 지도 기능을 반환하는 것입니다.