2013-03-28 61 views
1

有沒有關於clojure內置java方法的任何文檔?例如, ,.toUpperCase來自java.lang.String,.indexOf來自clojure.lang.PersistantVector。clojure內置的java方法

有沒有反正我可以找到有用的Java方法,而不看源代碼?

回答

4

正如其他人所指出的那樣,你可以在網上獲得java.*javax.*文檔漂亮很容易,因爲它是核心Java的一部分。

對於clojure.*,您的最佳參考是來源。即便如此,我建議不依賴它因爲這個代碼應該真的被認爲是Clojure的實現細節。你有沒有保證該功能將不會改變在未來版本的Clojure和破壞任何依賴它的代碼。

+0

在這個問題[鏈接](http://stackoverflow.com/questions/4830900/how-do-i-find-the-index-of-an-item-in-a-vector),似乎使用。 indexOf是完成這項工作最簡單的方法。應該在clojure中編寫自己的版本,還是隻在這種情況下使用JAVA代碼? – LoveProgramming

+0

當你提供需要的功能時,你應該使用Java interop(特別是對於'java。*'類,它們保證可用並且可能永遠向後兼容)。但是我建議在一個小的實用函數中包裝任何interop,這樣你的主代碼庫就可以免Java了。 – mikera

2

Java API怎麼樣?那裏列出了Java的所有類和方法。這涵蓋了所有的「clojure內置的java方法」。

另一方面,Clojure的類記錄在here Clojure的API中。你必須學會​​區分Clojure的類和Java的類。所有以java.*javax.*開頭的軟件包都屬於Java並記錄在第一個鏈接中。以clojure.*開頭的軟件包來自Clojure,您將在第二個鏈接中找到他們的文檔。

+0

顯然我無法在您提供的網站上找到關於clojure.lang.APersistentVector.indexOf(java.lang.Object)的任何文檔 – LoveProgramming

+0

您必須學會區分Clojure的類和Java的類。所有以java。*開頭的軟件包屬於Java,並記錄在我提供的鏈接中。以clojure。*開頭的軟件包來自Clojure,您將在Clojure的網頁中找到他們的文檔 –

+0

特別是,類clojure.lang.APersistentVector的文檔可以在[here]中找到(http:// www .jarvana.com/jarvana/view/org/clojure/clojure/1.3.0/clojure-1.3.0-javadoc.jar!/index.html? clojure/lang/APersistentVector.html) –

2

如果該課程的包裝以javajavax開頭,那麼您可以在the Java documentation on Oracle's website中查找它。

對於Clojure實現類(其中包名以clojure開頭),您可能會堅持查看源代碼。有針對目標API(Clojure語言)的文檔,但不適用於實現它的Java類。您可能能夠找到根據,如果你正在尋找的是什麼東西博客已經採取了一些感興趣的文章(like this one)。