2013-03-28 3 views
1

Есть ли какая-либо документация по встроенному Java-методу clojure? например, .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-interop free. – mikera

2

Как насчет Java API? Здесь перечислены все классы и методы Java. Это охватывает все «встроенные java-методы» clojure.

С другой стороны, классы Clojure задокументированы в here, API Clojure. Вы должны научиться различать классы 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' можно найти в [здесь] (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

Если пакет для класса начинается с java или javax, тогда вы можете найти его в the Java documentation on Oracle's website.

Для классов реализации Clojure (где имя пакета начинается с clojure), вы, вероятно, застряли в поисках исходного кода. Существует документация для предполагаемого API (язык Clojure), но не для классов Java, реализующих ее. Вы можете быть в состоянии найти некоторые статьи (like this one), в зависимости от того, если то, что вы ищете что-то блоггер поинтересовался в.

Смежные вопросы