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
です。