Pythonでは、私は、文字列の特殊文字を変換しないインタプリタを伝えるために、文字列リテラル(生の文字列)にr
の前に付けることができます:Clojureの中で同じことを行う方法がクロージャーに生の文字列がありますか?
>>> r"abc\nsdf#$%\^"
r"abc\nsdf#$%\^"
ありますか?
Pythonでは、私は、文字列の特殊文字を変換しないインタプリタを伝えるために、文字列リテラル(生の文字列)にr
の前に付けることができます:Clojureの中で同じことを行う方法がクロージャーに生の文字列がありますか?
>>> r"abc\nsdf#$%\^"
r"abc\nsdf#$%\^"
ありますか?
Clojure文字列はJava文字列であり、読者はその解釈に重要なものを追加しません。 The reader pageでは、「標準のJavaエスケープ文字がサポートされています」と表示されます。
あなたが逃げることができる\
かかわら:だから
user> (spit "/tmp/foo" "abc\\nsdf#$%\\^")
nil
user> (slurp "/tmp/foo")
"abc\\nsdf#$%\\^"
user> (print (slurp "/tmp/foo"))
abc\nsdf#$%\^nil
user>
は:あなたは、ファイルから文字列を読めば、読者はそれらを見たことがないので、
user> (print "abc\\nsdf#$%\\^")
abc\nsdf#$%\^
これは、リーダーで読み取り、文字列リテラルに影響を与えます基本的な答えはノーだと思います。
このような目的のために、リテラルの正規表現には使用できます。
user=> #"abc\nsdf#$%\^"
#"abc\nsdf#$%\^"
user=> (type #"abc\nsdf#$%\^")
java.util.regex.Pattern
user=> (println (str #"abc\nsdf#$%\^"))
abc\nsdf#$%\^
nil
はまた、あなたが反時計回り(ClojureのためのEclipseプラグイン)を使用している場合は、ときに正しく特殊文字のエスケープの世話をする(デフォルトでは無効)、「スマートペースト」と呼ばれるモードがあることに注意してください既存のリテラル文字列の中に貼り付けます。
これはおそらく、これは悪いことです。 – BLUEPIXY