multiply-by-seven、概要
¶特殊形式 interactive の使用と、エコー領域に値を表示する方法の両方を、multiply-by-seven のインタラクティブ版を作成することで示すことができます。
コードはこちらです:
(defun multiply-by-seven (number) ; Interactive version.
"Multiply NUMBER by seven."
(interactive "p")
(message "The result is %d" (* 7 number)))
このコードは、コードの後にカーソルを置いて C-x C-e と入力することでインストールできます。関数名がエコーエリアに表示されます。その後、C-u と数値を入力し、さらに M-x multiply-by-seven と入力して RET を押すと、このコードを使用できます。エコーエリアには、フレーズ ‘The result is …’ とそれに続く積が表示されます。
より一般的に言えば、このような関数は次のいずれかの方法で呼び出します。
先ほど挙げた2つの例は、いずれも同様にポイントを3文分進める働きをします。(multiply-by-sevenはキーに紐付けられていないため、キーバインドの例としては使えませんでした。)
(コマンドをキーに割り当てる方法については、主要なキーバインドを参照してください。)
接頭辞引数は、META キーに続けて数値(例えば M-3 M-e)を入力するか、あるいは C-u に続けて数値(例えば C-u 3 M-e)を入力することでインタラクティブ関数に渡されます(数値を伴わずに C-u と入力した場合は、デフォルトで 4 となります)。