「Getkword」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
 
編集の要約なし
18行目: 18行目:
; サンプル
; サンプル
: 次の例では、初めの initget 関数の呼び出しでキーワードのリスト(Yes と No)を設定すると同時に、次の getkword 関数呼び出しでの null 入力を禁止している(bits 引数の値が 1)。
: 次の例では、初めの initget 関数の呼び出しでキーワードのリスト(Yes と No)を設定すると同時に、次の getkword 関数呼び出しでの null 入力を禁止している(bits 引数の値が 1)。
(initget 1 "Yes No")
 
nil
<pre class="brush:autolisp;">
  (setq x (getkword "よろしいですか?[はい(Y)/いいえ(N)] "))
(initget 1 "Yes No")
よろしいですか?[はい(Y)/いいえ(N)]Y
nil
'''"Yes"'''
(setq x (getkword "よろしいですか?[はい(Y)/いいえ(N)] "))
次の例は、getkword 関数に対する応答で、ユーザが無効な入力を行ったときにどうなるかを示している。
よろしいですか?[はい(Y)/いいえ(N)]Y
(initget 1 "Yes No")
"Yes"
nil
 
(setq x (getkword "よろしいですか?[はい(Y)/いいえ(N)] "))
; 次の例は、getkword 関数に対する応答で、ユーザが無効な入力を行ったときにどうなるかを示している。
よろしいですか?[はい(Y)/いいえ(N)] x
(initget 1 "Yes No")
'''そのようなオプション キーワードはありません.'''
nil
よろしいですか?[はい(Y)/いいえ(N)]Y
(setq x (getkword "よろしいですか?[はい(Y)/いいえ(N)] "))
'''"Yes"'''
よろしいですか?[はい(Y)/いいえ(N)] x
: ユーザの応答が、先の initget 関数で定義されたキーワードの 1 つではなかったため、警告メッセージを表示した後に、msg 引数で与えられた文字列を使用して、ユーザに再度プロンプトが表示された。
そのようなオプション キーワードはありません.
よろしいですか?[はい(Y)/いいえ(N)]Y
"Yes"
 
!x
"Yes"
 
; ユーザの応答が、先の initget 関数で定義されたキーワードの 1 つではなかったため、警告メッセージを表示した後に、msg 引数で与えられた文字列を使用して、ユーザに再度プロンプトが表示された。
</pre>





2013年6月15日 (土) 11:16時点における版

構文
(getkword [msg])


機能
ユーザがキーワードを入力するまで待機(一時停止)し、入力されたキーワードを返す。
有効なキーワードは、getkword 関数を呼び出す前に initget 関数で設定する。getkword 関数の要求に対して、ユーザは別の LISP 式を入力することはできない。
* IJCADでは initget 関数で設定されたキーワードはプロンプトメニューとして表示される。
引数
  • msg : ユーザに表示するプロンプト文字列。省略した場合、プロンプトは表示されない。
戻り値
ユーザが入力したキーワードを示す文字列。キーワードを入力せずに[Enter]を押した場合は、nil。この関数は、キーワードを定義する initget 関数を事前に呼び出さなかった場合も、nil を返す。
ユーザが有効なキーワード以外の値を入力した場合、警告メッセージを表示し、再度入力を求める。


サンプル
次の例では、初めの initget 関数の呼び出しでキーワードのリスト(Yes と No)を設定すると同時に、次の getkword 関数呼び出しでの null 入力を禁止している(bits 引数の値が 1)。
(initget 1 "Yes No")
nil
(setq x (getkword "よろしいですか?[はい(Y)/いいえ(N)] "))
よろしいですか?[はい(Y)/いいえ(N)]Y
"Yes"

; 次の例は、getkword 関数に対する応答で、ユーザが無効な入力を行ったときにどうなるかを示している。
(initget 1 "Yes No")
nil
(setq x (getkword "よろしいですか?[はい(Y)/いいえ(N)] "))
よろしいですか?[はい(Y)/いいえ(N)] x
そのようなオプション キーワードはありません.
よろしいですか?[はい(Y)/いいえ(N)]Y
"Yes"

!x
"Yes"

; ユーザの応答が、先の initget 関数で定義されたキーワードの 1 つではなかったため、警告メッセージを表示した後に、msg 引数で与えられた文字列を使用して、ユーザに再度プロンプトが表示された。



関連事項