Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2010-01-19

KMRCLを眺める (67) INDENT-SPACES

| 01:46 | KMRCLを眺める (67) INDENT-SPACES - わだばLisperになる を含むブックマーク はてなブックマーク - KMRCLを眺める (67) INDENT-SPACES - わだばLisperになる

今回はKMRCLのio.lisp中からINDENT-SPACESです。

動作は、名前の通りインデント用(多分)のスペースを出力します。

(WITH-OUTPUT-TO-STRING (OUT)
  (INDENT-SPACES 3 OUT))
;⇒ "      "

定義は、

(defun indent-spaces (n &optional (stream *standard-output*))
  "Indent n*2 spaces to output stream"
  (print-n-chars #\space (+ n n) stream))

という風に以前に定義したPRINT-N-CHARSを利用しています。

しかし、なぜに指定した数の二倍出力されるんでしょう。