Getstring

提供:GizmoLabs - だいたい CAD LISP なサイト
2020年8月15日 (土) 23:42時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(getstring [cr] [msg])


機能
ユーザが文字列を入力するまで待機(一時停止)し、入力された文字列を返す。
getstring 関数の要求に対して、ユーザは別の LISP 式を入力することはできない。


引数
  • cr : この引数が指定され、nil でなければ、ユーザは入力文字列内にスペースを含めることができる(文字列の入力を終了するには、[Enter] を押す必要がある)。それ以外の場合、入力文字列はスペースまたは [Enter] で終了する。
  • msg : ユーザに表示するプロンプト文字列。


戻り値
ユーザが入力した文字列。ユーザが文字列を入力せずに [Enter] を押した場合は、各種の資料ではという nil という記述が見受けられるが、 ""(空文字)が変える。
文字列の長さが 132 文字を越える場合は、最初の 132 文字だけを返す。
入力文字列に含まれている円記号(\)は、2つの円記号(\\)に変換する。これにより、ファイル名パスを含む戻り値を、他の関数で使用できる。


サンプル
(setq s (getstring "あなたの名前は? : "))
あなたの名前は?  : Gary
"Gary"

(setq s (getstring T "あなたの氏名は? : "))
あなたの氏名は? : 草薙 素子
"草薙 素子"

(setq s (getstring T "ファイル名を入力: "))
ファイル名を入力: c:¥my documents¥vlisp¥secrets
"c:¥¥my documents¥¥vlisp¥¥secrets"

(= "" (getstring "空Enterして下さい"))
T

(= nil (getstring "空Enterして下さい")) ; <- これが Tになる場合もある
nil

関連事項