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 ielm在测试 elisp 时很有用。

于 2013-02-11T18:47:33.357 回答