7
在菲爾Hagelberg的(technomancy)gripes file他指出以下有關Clojure的:有沒有一種快速的方法來檢查Clojure函數中的零參數?
nil is everywhere and causes bugs that are difficult to find the source
現在菲爾是個聰明的傢伙誰貢獻了很多Clojure的社會,每個人都使用他的東西 - 所以我認爲這是值得琢磨一會兒。
一個簡單的方法來管理零參數傳遞給一個函數是拋出一個錯誤:
(defn myfunc [myarg1]
(when (nil? myarg1)
(throw (Exception. "nil arg for myfunc")))
(prn "done!"))
這兩每樣板的說法臭氣多餘的線條。是否有通過元數據或宏刪除它們的慣用方法?
我的問題是有沒有一種快速的方法來檢查Clojure函數中的零參數?
當clojure 1.6出現時,你可以替換(not(nil? x))一些? – DanLebrero
@dAni看來你是對的,因爲我可以閱讀的clojure 1.6變化https://github.com/clojure/clojure/blob/master/changes.md#23-new-some-operations – tangrammer
'{:pre [ (不是(nil?x))]}'可以簡化爲{:pre [x]}' – marathon