Touretzky的书中的示例代码导致错误*

时间:2012-03-17 01:58:04

标签: common-lisp clisp

Touretzky's Lisp book第144页的示例代码导致我的环境出错。我的跑步方式有什么不对吗?

(defun price-change (old new)
  (let* ((diff (- new old))
     (proportion (/ diff old))
     (percentage (* proportion 100.0)))
    (list ’widgets ’changed ’by percentage
       ’percent))
)

这是错误。我不明白为什么要对字符串“小部件”进行评估...

Break 5 [7]> (price-change 1.25 1.35)

*** - LET*: variable ’WIDGETS has no value
The following restarts are available:
USE-VALUE      :R1      Input a value to be used instead of ’WIDGETS.
STORE-VALUE    :R2      Input a new value for ’WIDGETS.
ABORT          :R3      Abort debug loop
ABORT          :R4      Abort debug loop
ABORT          :R5      Abort debug loop
ABORT          :R6      Abort debug loop
ABORT          :R7      Abort debug loop
ABORT          :R8      Abort main loop

环境:Ubuntu 11.10,GNU CLISP 2.49

1 个答案:

答案 0 :(得分:3)

您需要使用引号字符撇号'。你没有。您使用了正确的引号。