2016-07-18 68 views
6

爲什麼地圖和關鍵字都有一個額外的參數與默認參數,而套不?爲什麼clojure集不接受默認參數?

這是實施細節還是特定的設計決策?

({:a 2} :b :not-found) ;;=> :not-found 

(:b {:a 2} :not-found) ;;=> :not-found 

;; This seems counter intuitive. 
(#{:a} :b :not-found) ;;=> clojure.lang.ArityException 

(:b #{:a} :not-found) ;;=> :not-found 
+1

這肯定是一個異常,可以很容易和有用地擦除:請參閱[@ amalloy的答案](http://stackoverflow.com/a/38444128/1562315)。 – Thumbnail

回答

3

我不認爲有任何令人信服的理由:他們當然可以,這似乎是合理的足夠給我。該功能添加了地圖和關鍵字3b7c1612,並且從未被觸及;我想它只是沒有包含在最初的提交中,因此沒有很好的理由重新審視這個決定。

相關問題