【发布时间】:2017-10-12 10:33:44
【问题描述】:
我想在 common lisp 中定义一个功能,它使用一些 lisp 不知道的单词/符号,例如具有这样的函数/宏:
(my-func-or-macro lst key-word idx)
如果key-word 是to,则返回lst 到idx 中的项目,如果key-word 是来自idx 到末尾/强>。
所以实际上它应该像这样工作:
(my-func-or-macro '(1 2 3 4 5 6) from 3) => '(4 5 6)
和
(my-func-or-macro '(1 2 3 4 5 6) to 3) => '(1 2 3)
由于宏不评估它们的参数,我认为我应该使用不关心 from 和 to 的宏(注意我不想传递引用的参数,如 'from 'to )。
【问题讨论】:
-
通常你会使用带有关键字参数的函数: :from 和 :to 。
-
不要忘记添加实际问题。'我想要...'不是问题。
-
您到底想知道什么?如何比较不同包中的符号?
标签: macros common-lisp