我刚开始口齿不清,需要帮助从技术上讲,这是家庭作业,但我尝试了一下,得到了我想要的:

(defun speed (kmp)
  (cond ((> kmp 100) "Fast")
        ((< kmp  40) "Slow")
        (t           "Average")))

但是,如果我运行程序,它将显示"Average",而不是仅显示Average(不带引号)。
如何使它显示不带引号的字符串?

最佳答案

也可以使用符号而不是字符串:

(defun speed (kmp)
  (cond ((> kmp 100) 'fast)
        ((< kmp  40) 'slow)
        (t           'average)))

默认情况下,符号是大写的,因此内部快速就是快速。
您可以在任何情况下使用带竖线转义的任何字符编写任何符号:
|The speeed is very fast!|

上面的符号在Common Lisp中是一个有效的符号,它在内部存储,就像在编写时保留大小写一样。

09-29 21:12