Next: , Up: Interactive   [Contents][Index]


An Interactive multiply-by-seven, An Overview

multiply-by-sevenのインタラクティブなバージョンを作成することによって、スペシャルフォームinteractiveの用い方とエコーエリアに値を表示する方法の1つについて説明することができます。

以下がコードです:

(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 …’というフレーズ、その後に積が表示されるでしょう。

より一般的に言うと、以下のいずれかの方法によって関数を呼び出すことができます:

  1. C-u 3 M-x forward-sentenceのように引き渡す数値を含んだプレフィックス引数(prefix argument)をタイプしてからM-xと関数名をタイプする
  2. C-u 3 M-eのように関数がバインドされている任意のキーあるいはキーコードをタイプする

上記の2つの例はいずれもポイントを3つのセンテンス分前方に移動します(multiply-by-sevenはキーにバインドされていないのでキーバインディングの例としての使用はできません)。

(コマンドをどのようにしてキーにバインドするかについてはSome Keybindingsを参照してください。)

プレフィックス引数(prefix argument)とはM-3 M-e、あるいはC-u 3 M-eのようにC-uの後に数値をタイプしてMETAの後に数値をタイプすることによってインタラクティブ関数に渡される引数のことです(C-uの後に数値を指定しなかった場合のデフォルトは4)。

This page has generated for branch:work/add_lispintr, commit:65845cf60c073f2f3182d1d07483530e9bbe1d96 to check Japanese translation.