交互式 multiply-by-seven,概述

通过创建 multiply-by-seven 的交互式版本,可以演示特殊形式 interactive 的使用以及在回显区域显示值的一种方式。

以下是代码:

(defun multiply-by-seven (number)       ; 交互式版本.
  "将 NUMBER 乘以七。"
  (interactive "p")
  (message "结果是 %d" (* 7 number)))

您可以通过将光标放置在代码后并键入 C-x C-e 来安装此代码。函数的名称将出现在回显区域中。然后,您可以通过键入 C-u 和一个数字,然后键入 M-x multiply-by-seven 并按 RET 使用此代码。回显区域中将出现短语 ‘结果是 …’,后面跟着乘积。

更一般地说,可以通过以下两种方式调用这样的函数:

  1. 通过键入包含要传递的数字的前缀参数,然后键入 M-x 和函数的名称,如 C-u 3 M-x forward-sentence;或者,
  2. 通过键入函数绑定的键或键序列,如 C-u 3 M-e

刚才提到的两个示例均以相同的方式工作,将光标向前移动三个句子。 (由于 multiply-by-seven 未绑定到键,它无法用作绑定键的示例。)

(See 一些按键绑定, 了解如何将命令绑定到键。)

通过键入数字键后跟一个数字,例如 M-3 M-e,或者通过键入 C-u 然后是一个数字,例如 C-u 3 M-e,将一个 前缀参数 传递给交互式函数(如果键入 C-u 而没有数字,则默认为 4)。