「Getstring」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
(同じ利用者による、間の5版が非表示)
1行目: 1行目:
{{Template:AutoLISP}}
; 構文
; 構文
: (getstring [''cr''] [''msg''])
: (getstring [''cr''] [''msg''])
6行目: 7行目:
: ユーザが文字列を入力するまで待機(一時停止)し、入力された文字列を返す。
: ユーザが文字列を入力するまで待機(一時停止)し、入力された文字列を返す。
: getstring 関数の要求に対して、ユーザは別の LISP 式を入力することはできない。
: getstring 関数の要求に対して、ユーザは別の LISP 式を入力することはできない。


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


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


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


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

2020年8月15日 (土) 23:42時点における最新版

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

関連事項