0

私は最初のエクササイズセクション(Emacs Lisp Intro)にいますが、うまくいきません。3.12演習:

`fill-column'の現在の値が関数に渡された引数より大きいかどうかをテストする関数を記述し、大きい場合は適切なメッセージを出力します。

私は持っています:

(defun is-fill-equal (number)
   "Is fill-column greater than the argument passed to the function."
   (interactive "p")
(if (= fill-column number)
    (message "They are equal.")
  (message "They are not equal."))

何を試しても、このエラーが発生します。

デバッガーが入力されました--Lispエラー:(void-変数番号)

4

1 に答える 1

3

最後の括弧が 1 つありません。試す:

(defun is-fill-equal (number)
   "Is fill-column greater than the argument passed to the function."
   (interactive "p")
   (if (= fill-column number)
       (message "They are equal.")
     (message "They are not equal.")))

エラー メッセージの理由は、おそらくC-x e関数定義の最後にいるためです。(if (= fill-column number) ...)括弧が1つ足りないため、Emacsは、評価したい式がnumberそのコンテキストでバインドされていないと見なします。

于 2013-02-04T15:55:18.093 に答える