read-char-no-hang
{&optional input-stream eof-error-p
eof-value recursive-p} => char
input-stream -- an input stream designator. The default is standard input.
eof-error-p---a generalized boolean. The default is true.
eof-value---an object. The default is nil.
recursive-p---a generalized boolean. The default is false.
char---a character or nil or the eof-value.
read-char-no-hang returns a character from input-stream if such a character is available. If no character is available, read-char-no-hang returns nil.
{ }{If recursive-p is true, this call is expected to be embedded in a higher-level call to read or a similar function used by the Lisp reader.}
If an end of file_2 occurs and eof-error-p is false, eof-value is returned.
;; This code assumes an implementation in which a newline is not ;; required to terminate input from the console. (defun test-it () (unread-char (read-char)) (list (read-char-no-hang) (read-char-no-hang) (read-char-no-hang))) => TEST-IT ;; Implementation A, where a Newline is not required to terminate ;; interactive input on the console. (test-it) |> |>>a<<| => (#\a NIL NIL) ;; Implementation B, where a Newline is required to terminate ;; interactive input on the console, and where that Newline remains ;; on the input stream. (test-it) |> |>>a{[<--~]}<<| => (#\a #\Newline NIL)
*standard-input*, *terminal-io*.
If an end of file_2 occurs when eof-error-p is true, an error of type end-of-file is signaled .
section listen [Function]
read-char-no-hang is exactly like read-char, except that if it would be necessary to wait in order to get a character (as from a keyboard), nil is immediately returned without waiting.
Go to the first, previous, next, last section, table of contents.