如何将符号作为关键字参数传递?

时间:2016-02-22 22:03:39

标签: lisp common-lisp

我从包中导出一些符号,并在case语句中内部使用它们。我想将其中一个符号(例如中等大小)作为关键字参数传递给泛型方法,如下所示:

(solve problem :optimize-for :medium-size :another-keyword t)

但是这给出了一个"奇数个& KEY参数"错误。我是否误解了符号或关键字参数的基本内容?

1 个答案:

答案 0 :(得分:0)

如果以类似于:

的方式定义solve,那就是意外行为
(defun solve (problem &key optimize-for another-keyword)
  ...)

但是,如果您已从medium-size导出符号your-package,则通常会将其称为'your-package:medium-size(或者,如果您已导入your-package,则只需{ {1}})。