(defun next ()
(defparameter *sentences*
'(
(1 . "Test 1")
(2 . "Test 2")))
(let (sentence '(assoc 2 *sentences*)) ;This quote is needed, another program evaluates this.
(format t "*sentences*:~%~a~%sentence: ~a~%" *sentences* sentence)))
它提供输出 " *句子*: ((1。测试1)(2。测试2)) 句子:NIL"。
为什么它不给(2。测试2)作为"句子"的价值?
提前致谢。
编辑:添加括号。原始程序与括号匹配。答案 0 :(得分:2)
您的let
表格中缺少括号:
(defun next ()
(defparameter *sentences*
'(
(1 . "Test 1")
(2 . "Test 2")))
(let ((sentence (assoc 2 *sentences*))) ;no quote, just parentheses ;-)
(format t "*sentences*:~%~a~%sentence: ~a~%" *sentences* sentence)))