「Getstring」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
18行目: 18行目:


; サンプル
; サンプル
<pre class="brush: autolisp;">
  (setq s (getstring "あなたの名前は? "))
  (setq s (getstring "あなたの名前は? "))
  あなたの名前は? Gary
  あなたの名前は? Gary
  '''"Gary"'''
  '''"Gary"'''
  (setq s (getstring T "あなたの氏名は? "))
  (setq s (getstring T "あなたの氏名は? "))
  あなたの氏名は? 草薙 素子
  あなたの氏名は? 草薙 素子
  '''"草薙 素子"'''
  '''"草薙 素子"'''
  (setq s (getstring T "ファイル名を入力: "))
  (setq s (getstring T "ファイル名を入力: "))
  ファイル名を入力: c:¥my documents¥vlisp¥secrets
  ファイル名を入力: c:¥my documents¥vlisp¥secrets
  '''"c:¥¥my documents¥¥vlisp¥¥secrets"'''
  '''"c:¥¥my documents¥¥vlisp¥¥secrets"'''


(= "" (getstring "空Enterして下さい"))
T
(= nil (getstring "空Enterして下さい")) ; <- これが Tになる場合もある
nil
</pre>
-----
-----
関連事項
関連事項

2010年8月9日 (月) 16:07時点における版

構文
(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

関連事項