clojureって文字列に16進で文字書けないのかな。"¥x00"みたいなのを書いたら¥xのとこでエラーになった。とりあえず¥xを¥u00にしてユニコード文字ですよーってことにしたけど。
2010-03-26 01:49:45@making 文字の範囲を示す正規表現[\x5B-\x60\x7B-\x7D]があって、これを#"[\x5B-\x60\x7B-\x7D]"とやるとOKだけど(re-pattern "[\x5B-\x60\x7B-\x7D]")ではダメで、なんでかなーということでした。
2010-03-26 08:20:12@masa_edw 入力の一文字目が"だったらStringReader、#だったらRegexReaderが呼ばれ、前者は\だった場合エスケープ文字チェックをするのでxはアウト。後者は"の後は終端文字以外はおkです。文字列リテラルで\を使うときは\でエスケープしないとだめです
2010-03-26 12:10:46@masa_edw よって#"\x00"と(java.util.regex.Pattern/compile "\\x00")は等価です。 http://bit.ly/aAfZ2W この辺参照
2010-03-26 12:12:15「後者は\の後」の間違い @making: @masa_edw 入力の一文字目が"だったらStringReader、#だったらRegexReaderが呼ばれ、前者は\だった場合エスケープ文字チェックをするのでxはアウト。後者は"の後は終端文字以外はおkです。文字列リテラルで\を使
2010-03-26 12:16:55@making "\r\n"みたいなのは文字列としても有効なので、そういうノリで16進表記が使えたらなぁと思ったんですが、よくよく考えると文字列のまま\x00みたいなのを持っておく必要があるので\\x00みたいにすることにします。thx!
2010-03-26 12:21:43@masa_edw http://bit.ly/cN31ky のswitch文に入ってるやつなら大丈夫ですねw Javaと同じか。
2010-03-26 12:29:37