Shammer's Philosophy

My private adversaria

LISP で改行しながら文字列出力する

sorting - Common Lisp Concatenate and newline - Stack Overflowの方法を参考にしてできました。(write-line "文字列" stream) を使うことで実現できる。

(with-open-file (f "file.txt" :direction :output)
  (let ((lines (list "aaa" "bbb" (concatenate 'string "ccc" "ddd"))))
    (dolist (line lines)
      (write-line line f)
      (terpri f))))

実行例。

$ ls file.txt
ls: file.txt: No such file or directory
$ ccl64 -l test.lisp
$ cat file.txt
aaa

bbb

cccddd

$

改行が想定以上に入ってしまうのはどうしようもないのだろうか。。。