我想創建一個函數,它需要一個必需的參數x,以及一個可選參數opt1或一個關鍵字參數opt2。Clojure關鍵字和可選參數問題
現在我有
(defn foo x & [opt1 {:keys [opt2]}]
...
但上面的簽名只讓我傳遞關鍵字參數OPT2當x和OPT1存在像
(foo 'x 'opt1 {:opt2 'opt2})
不喜歡這個
(foo 'x {:opt2 'opt2})
請幫我創建一個函數,它需要一個必需的參數X和opt1或opt2,whe re opt2是一個關鍵字參數。
謝謝。
編輯:我也想爲其他宏做同樣的事情。所以我仍然需要使用defmacro。
考慮使用`從[clojure.contrib.def] defnk`(http://richhickey.github.com/clojure-contrib/def-api.html)代替顯式解構。 – ffriend 2010-11-26 20:15:48