【发布时间】:2019-12-15 10:20:57
【问题描述】:
例如:
CL-USER 1 > (setq l1 '(a b c))
(A B C)
CL-USER 2 > l1
(A B C)
当我键入 l1,而不是 (A B C) 时,我想打印不同的消息,是那可能吗?因为不是对函数的操作,所以我在其中放置了一个条件,而不是列表,我打印了一条消息。在这种情况下,没有函数。
【问题讨论】:
标签: lisp common-lisp
例如:
CL-USER 1 > (setq l1 '(a b c))
(A B C)
CL-USER 2 > l1
(A B C)
当我键入 l1,而不是 (A B C) 时,我想打印不同的消息,是那可能吗?因为不是对函数的操作,所以我在其中放置了一个条件,而不是列表,我打印了一条消息。在这种情况下,没有函数。
【问题讨论】:
标签: lisp common-lisp
Symbol macros 是一种评估任意代码而不是在评估时查找值的方法。例如:
* (define-symbol-macro l1 (error "No peeking!"))
* l1
ERROR: No peeking!
【讨论】: