Emacs Part 50at UNIXEmacs Part 50 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト750:名無しさん@お腹いっぱい。 17/09/17 22:58:29.23 .net 24.5の俺が通ります マイナーバージョンが3になったからぼちぼち考える 751:名無しさん@お腹いっぱい。 17/10/02 16:51:21.63 .net >>727 俺はまだまだ使うよ。 752:名無しさん@お腹いっぱい。 17/10/11 17:41:25.00 .net 本出たのにこの過疎っぷり 753:名無しさん@お腹いっぱい。 17/10/11 18:53:31.46 .net どんな本ですか? 754:名無しさん@お腹いっぱい。 17/10/11 19:00:32.04 .net これかな? [改訂新版]Emacs実践入門―思考を直感的にコード化し、開発を加速する 2017/9/22 https://www.amazon.co.jp/dp/477419235X 755:名無しさん@お腹いっぱい。 17/10/11 20:29:38.36 .net 個人的には「詳細 Emacs calc」みたいな本が欲しい 756:名無しさん@お腹いっぱい。 17/10/11 21:04:59.56 .net Emacs Lispの最新リファレンスがあればいいや 757:名無しさん@お腹いっぱい。 17/10/12 01:32:49.01 .net pp-to-stringで質問です。 たとえば、以下のようなコードがあります。 (let ((word (pp-to-string '(:string "hoge\nhage")))) (print (mapcar (lambda (x) (format "0x%02X" x)) word))) wordのlisp-objectをpp-to-stringで変換し 価した時の値をhex表示します。 ("0x28" "0x3A" "0x73" "0x74" "0x72" "0x69" "0x6E" "0x67" "0x20" "0x22" "0x68" "0x6F" "0x67" "0x65" "0x5C" "0x6E" "0x68" "0x61" "0x67" "0x65" "0x22" "0x29" "0x0A") こんな感じになり、改行のエスケープコードが非エスケープ 0x0A(\n) -> 0x5C(\) 0x6E(n) に変換されてしまいます。 これを回避する方法はないでしょうか? 理想としては↓を評価した時と同じになってほしいのです。 (let ((word "(:string \"hoge\nhage\")")) (print (mapcar (lambda (x) (format "0x%02X" x)) word))) ("0x28" "0x3A" "0x73" "0x74" "0x72" "0x69" "0x6E" "0x67" "0x20" "0x22" "0x68" "0x6F" "0x67" "0x65" "0x0A" "0x68" "0x61" "0x67" "0x65" "0x22" "0x29") つまり lisp-object '(:string "hoge\nhage") を変換したときに、 "(:string \"hoge\nhage\")" という出力を得るには何をするのが適切でしょうか? この例では \n だけを書いていますが \t など他のエスケープも文字コードに変換されずに、 エスケープコードとして文字列にのこしたままの出力を得たいのです。 この結果が得られるのであれば、pp-to-stringでなくても問題ありません。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch