2016-02-22 42 views
0

我從包中導出幾個符號,並在case語句中內部使用它們。我想通過符號(例如中等大小)作爲一個關鍵字參數中的一個來的一般方法,是這樣的:如何將符號作爲關鍵字參數傳遞?

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

但是這給「奇數編號的& KEY參數」錯誤。我是否誤解了有關符號或關鍵字參數的基本知識?

+0

如果從包中導出'medium-size',它應該是'packagename:medium-size',而不是':medium-size'。 – Barmar

+3

顯示通用函數的參數列表。你可能錯過了其中一個位置參數。 – Barmar

+1

關鍵字參數的值可以是任何值,使用符號沒有什麼特別之處。 – Barmar

回答

0

即意外的行爲,如果solve已經以類似於的方式被定義爲:

(defun solve (problem &key optimize-for another-keyword) 
    ...) 

然而,如果已導出的符號medium-sizeyour-package,它通常被稱爲'your-package:medium-size(或,如果你有進口your-package,只需'medium-size)。

相關問題