【问题标题】:Is there a way to print an error message when you try to print a variable?当您尝试打印变量时,有没有办法打印错误消息?
【发布时间】: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


    【解决方案1】:

    Symbol macros 是一种评估任意代码而不是在评估时查找值的方法。例如:

    * (define-symbol-macro l1 (error "No peeking!"))
    * l1
    ERROR: No peeking!
    

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 2016-05-31
      • 2021-04-17
      • 2017-03-18
      • 1970-01-01
      • 2019-01-16
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      相关资源
      最近更新 更多