我是Clojure的新手,想要學習基礎知識。有一件事讓我想起了數據結構和它們使用的功能之間的關係。Clojure數據結構函數
舉例來說,如果我創建了一個新的載體:
(def my-vec [1 2 3])
然後,當我嘗試調用my-vec
:
(my-vec)
我得到:
ArityException Wrong number of args (0) passed to: PersistentVector clojure.lang.AFn.throwArity (AFn.java:437)
我知道我可以通過一個參數,它似乎是呼籲get
,但我怎麼知道? PersistentVector
需要什麼參數以及我在哪裏可以找到關於它的文檔?
我想:
(doc PersistentVector)
但返回nil
。
這有幫助!所以當我做'(my-vec)'或'(my-vec 1)'時,它會調用''invoke()'哪個IPersistentVector'調用'nnth'? – 2012-08-10 06:32:54
在代碼中找到答案:https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/PersistentVector.java#L593 – 2012-08-10 06:44:43