Acet-ui-m-get-names

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(acet-ui-m-get-names argumentList)


機能
(getkword)と同様の拡張ユーザー入力機能を提供するが、複数キーワードの選択が可能である。


引数
  • argumentListは、詳細なパラメータを提供する次の単一リスト : (allowSpace prompt keywords)
    • allowSpace : T/NILでスペース文字の入力を許可する((getstring)関数と同じ)
    • prompt : コマンドラインに表示する文字列((getstring)関数と同じ)
    • keywords : 使用するキーワードのリスト (代わりにフラット文字列を使用する (initget) 関数と同様)


戻り値
一致するキーワードのリスト。常に大文字表記。
  • マッチするキーが見つからない場合、メッセージがコマンドラインに出力され、入力クエリが繰り返される。
  • 空の入力は常にクエリを終了して nil を返す。
  • ユーザは複数のキーワードを", "コロンで区切って入力することができる。
  • 入力された各キーワードをキーワードリストと照合し、一致したキーワードを結果リストに追加する。


サンプル
(setq lst (list "aaa" "bbb" "ccc"))

(acet-ui-m-get-names (list nil "\n* aaa bbb ccc : " lst))

; スペース入力は入力を終了する
; a* の入力は '("AAA")' を返す。
; aaa の入力は '("AAA")' を返す。
; * の入力は '("AAA" "BBB" "CCC") を返す。
; a*,bbb の入力は '("AAA" "BBB")' を返す。


(setq lst (list "a1" "a2" "a3"))
(acet-ui-m-get-names (list T "\n* a1 a2 a3 : " lst))

;  スペース入力可
;  a* の入力は '("A1" "A2" "A3")' を返す。
;  *3 の入力は '("A3")' を返す。



関連事項