control—a format control.
arguments—format arguments for control.
generalized-boolean—a generalized boolean.
These functions ask a question and parse a response from the user. They return true if the answer is affirmative, or false if the answer is negative.
y-or-n-p
is for asking the user a question whose answer is either
“yes” or “no.”
It is intended that the reply require
the user to answer a yes-or-no question with a single
character.
yes-or-no-p
is also for asking the user a question
whose answer is either “Yes” or “No.”
It is intended that the reply require
the user to take more action than just a single keystroke, such as typing
the full word yes
or no
followed by a newline.
y-or-n-p
types out a message (if supplied), reads an answer
in some implementation-dependent manner (intended to be short and simple,
such as reading a single character such as Y
or N
).
yes-or-no-p
types out a message (if supplied),
attracts the user's attention (for example, by ringing
the terminal's bell),
and reads an answer
in some implementation-dependent manner (intended to be multiple characters,
such as YES
or NO
).
If format-control is supplied and not nil
,
then a fresh-line
operation is performed; then
a message is printed as if format-control and arguments
were given to format
.
In any case, yes-or-no-p
and y-or-n-p
will provide
a prompt such as “(Y or N)
” or “(Yes or No)
” if appropriate.
All input and output are performed using query I/O.
(y-or-n-p "(t or nil) given by") ▷ (t or nil) given by (Y or N) Y → true (yes-or-no-p "a ~S message" 'frightening) ▷ a FRIGHTENING message (Yes or No) no → false (y-or-n-p "Produce listing file?") ▷ Produce listing file? ▷ Please respond with Y or N. n → false
Output to and input from query I/O will occur.
*query-io*
.
yes-or-no-p
and yes-or-no-p
do not add question marks
to the end of the prompt string, so any desired question mark or other
punctuation should be explicitly included in the text query.