8

私は現在、elisp を学ぶクラスを受講しているため、この言語の経験はありません。2 つの入力 (四角形の幅と長さ) を対話的に読み取り、それらを使用して関数を呼び出して四角形の面積を計算しようとしています。私が持っているコードは次のとおりです。

(defun rectangle_Area(w l)
"Compute the area of a rectangle, given its width and length  interactively."
(interactive "nWidth: ")
(interactive "nLength: ")
(setq area (rectangleArea w l))      
(message "The rectangle's area is %f." area))

現在、引数の数が間違っているというエラーが発生します。私が言ったように、私は以前の経験がありません...私が本当に知る必要があるのは、インタラクティブを使用して2つの別々の値を保存/読み取る方法だけです。

助けてくれてありがとう

4

1 に答える 1

9

C-hf interactive RET:

複数の引数を取得するには、個々の文字列を連結し、改行文字で区切ります。

したがって、次のようになります。

(defun rectangle_Area(w l)
    "Compute the area of a rectangle, given its width and length  interactively."
    (interactive "nWidth: \nnLength: ")
    (setq area (rectangleArea w l))      
    (message "The rectangle's area is %f." area))
于 2013-01-21T23:34:20.333 に答える