Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

interactiveでミニバッファから変数を受け取る

interactiveの後に渡す文字列で変数を受け取る際ミニバッファに表示する文字列を指定できます。
複数の変数を設定したい場合は改行するようです。
なお、行頭に「コード文字」とかいうものを設定する必要があります。

数値ならば「n」

数値ならばnです

(defun testFunc (a b)
(interactive "np \nng \n")
(message "The result is %d" (* a b)))

とやれば

p 12
g 34
The result is 46

文字列ならば「n」

文字列の場合は「s」です。

(defun InteractiveConcat (a b)
"InteractiveConcat"
(interactive "sString1\> \nsString2\> \n")
(message "The result is %s" (concat a b)))

とやれば

String1> hoge
String2> fuga
The result is hogehuga

といった結果を得ます。