46
だが、私は文字列にこれを変換することができますどのよう文字のLazySeqをClojureの文字列に変換するにはどうすればよいですか?
(\b \ \! \/ \b \ \% \1 \9 \/ \. \i \% \$ \i \space \^@)
ようjava.lang.CharacterののLazySeqがあるとしましょうか?私は明白な
(String. my-char-seq)
を試みたが、それはStringコンストラクタがプリミティブのchar []代わりLazySeqのを期待するので、私が思う
java.lang.IllegalArgumentException: No matching ctor found for class java.lang.String (NO_SOURCE_FILE:0)
[Thrown class clojure.lang.Compiler$CompilerException]
をスローします。だから、私は何かを試しました
(String. (into-array my-char-seq))
しかし、それは同じ例外をスローします。今のところ問題は、に配列がchar []の代わりにjava.lang.Character []を返すことです。私は実際には基本的に私は、ASCII文字を表すintの配列を持っているこの
(map #(char (Integer. %)) seq-of-ascii-ints)
ように私の文字列を生成するので、これは、イライラさせられます。 65 = Aなど。プリミティブ型強制関数(char x)を明示的に使用していることがわかります。これが何を意味するのか
は私のマップ機能がプリミティブ文字が、全体的なjava.lang.Characterのオブジェクトを返すClojureのマップ機能を返しているということです。