1

メイン関数をインタラクティブに実行しようとすると、「フォーマット指定子が引数タイプと一致しません」というエラーが発生します。私のコードは次のとおりです。

(defun average(grade)
  (setq divide (/ grade 10))
  (cond ((= divide 10) "A")
        ((= divide 9) "A")
        ((= divide 8) "B")
        ((= divide 7) "C")
        ((= divide 6) "D")
        ("F")))

(defun main(g)
 (interactive "nGrade: ") 
 (message "%d" (average g )))

誰かが私が間違って入力/出力していることを手伝ってもらえますか?ありがとうございました

4

1 に答える 1

4

エラーはフォーマット行にあります

 (format "%d" (average g))

整数をフォーマットしたいが、文字列を返す場合は、次のようになります。

 (format "%s" (average g))

余談ですが、 M-x ielmelispをテストするときに便利です。

于 2013-02-11T18:47:33.357 に答える