Function Y-OR-N-P
, YES-OR-NO-P
y-or-n-p
&optional
control &rest
arguments => generalized-boolean
yes-or-no-p
&optional
control &rest
arguments => generalized-boolean
control - format-control
arguments - controlに対するformat-arguments
generalized-boolean - generalized-boolean
これらの関数は質問を行い、ユーザーからの返答を解釈します。 もし返答が肯定であったときはtrueを返却し、 返答が否定的であったときはfalseを返却します。
y-or-n-p
はユーザーに質問を行い、 答えが「yes」か「no」かのどちらかを問いかけます。 この関数はユーザーの返答がyes
かno
か 単一の文字であることを要求し、 返信することを意図しています。 yes-or-no-p
もまたユーザーに質問を行い、 答えが「Yes」か「No」かのどちらかを問いかけます。 この関数はユーザーにちょうどひとつのキー押下以上の行動を要求し、 例えばyes
やno
という完全な単語の後に 改行をタイプするようなことを意図しています。
y-or-n-p
は、(もし指定されたなら)メッセージを出力し、 実装依存の入力で (短く単純であることを意図しており、例えば単一の文字であるY
かN
を読み込みます) 返答を読み込みます。 yes-or-no-p
は、(もし指定されたなら)メッセージを出力し、 ユーザーの注意を引き付け (例えば、ターミナルのベルを鳴らしたり) 実装依存の入力で (複数の文字を意図しており、例えばYES
かNO
を読み込みます) 返答を読み込みます。
もしformat-controlが指定され、 それがnil
ではないとき、 まずはfresh-line
操作が実行されます。 そのあとformat-controlとargumentsがformat
に与えられて メッセージが出力されます。 いかなる場合でも、yes-or-no-p
とy-or-n-p
は 適切であるならば(Y or N)
か(Yes or No)
のようなプロンプトが提供されます。
全ての入出力は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)
(or No) no
>> a FRIGHTENING message (Yes => false
y-or-n-p "Produce listing file?")
(
>> Produce listing file?or N. n
>> Please respond with Y => false
query I/Oに対しての入出力が生じます。
なし。
yes-or-no-p:link}とy-or-n-p
はプロンプトの文字列の 最後にクエスチョン文字を追加しないので、 クエスチョンの文字や他の句読点を使いたいのであれば、 テキストの質問文に明示的に含める必要があります。