Function READ-CHAR
read-char &optional input-stream eof-error-p eof-value recursive-p => char
input-stream - 入力ストリーム指定子。デフォルトは標準入力。
eof-error-p - generalized-boolean。デフォルトはtrue。
eof-value - オブジェクト。デフォルトはnil。
recursive-p - generalized-boolean。デフォルトはfalse。
char - 文字か、eof-value
read-charは、input-streamから次の文字を返却します。
input-streamがechoストリームであるとき、 その文字はinput-stream上の最初の文字として現れたものがエコーされます。 unread-charによって配置された文字は read-charによってエコーされません。 その文字は前回のread-char呼び出し時によって すでにエコーされていると見なされるためです。
もしrecursive-pがtrueのとき、 この呼び出しはより上位レベルのreadによるものか、 Lispのリーダーによって使われる似たような関数から 埋め込まれたものであると見なされます。
もしファイルの終わりが発生し、 eof-error-pがfalseであるときは、 eof-valueが返却されます。
(with-input-from-string (is "0123")
(do ((c (read-char is) (read-char is nil 'the-end)))
((not (characterp c)))
(format t "~S " c)))
>> #\0 #\1 #\2 #\3
=> NIL*standard-input*, *terminal-io*
eof-error-pがtrueでありファイルの終わりに到達したときは、 型end-of-fileのエラーが通知されます。
read-byte, read-sequence, write-char, read
対応する出力関数はwrite-charです。