我正在學習Clojure,並正在搞亂REPL。對於assert
,該文件說,Clojure:'assert'的參數號錯誤?
Usage: (assert x)
(assert x message)
Evaluates expr and throws an exception if it does not evaluate to
logical true.
所以我預計(assert false "Error message")
引發錯誤和輸出"Error message"
。然而,它給出了
java.lang.IllegalArgumentException: Wrong number of args (4) passed to: core$assert (NO_SOURCE_FILE:0)
爲什麼說我有四個參數,什麼是正確的用法? assert
的文檔不太詳細。
在Clojure 1.3.0'(assert false false Error message)'在REPL中輸入會導致'AssertionError Assert failed:Error message'。我想我們需要更多的細節來幫助。 – Jan 2012-01-12 19:46:15
謝謝。我有版本1.2.1,它給出了上面的輸出。好的,也許他們改變了行爲。 – 2012-01-12 19:56:46
是的,Jan是正確的。行爲在版本1.2.1和1.3.0之間改變 - 添加了可選的消息參數。 – Scott 2012-01-12 20:02:26