「Getstring」の版間の差分
編集の要約なし |
編集の要約なし |
||
(同じ利用者による、間の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つの円記号(\\)に変換する。これにより、ファイル名パスを含む戻り値を、他の関数で使用できる。 | ||
19行目: | 22行目: | ||
; サンプル | ; サンプル | ||
<pre class="brush: autolisp;"> | <pre class="brush: autolisp;"> | ||
(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して下さい")) | (= "" (getstring "空Enterして下さい")) |
2024年9月26日 (木) 06:26時点における最新版
- 構文
- (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
関連事項
- initget 関数