Обычно вы можете найти то, что вам нужно на clojars.org - это хранилище по умолчанию для leiningen. Текущий стабильный выпуск Clojure - 1.2.0, так что вы должны иметь это в своем leiningen project.clj
:
[org.clojure/clojure "1.2.0"]
[org.clojure/clojure-contrib "1.2.0"]
Чтобы использовать общие математические функции в вашем clojure, require
или use
в объявлении пространства имен в верхней части исходного файла:
(ns your-namespace
(:use [clojure.contrib.generic.math-functions :as mathf]))
Это позволяет вам обращаться к функциям в этом пространстве имен следующим образом:
(mathf/abs -10) ;; => 10
:use
-ing-пространства имен с :as
является предпочтительным способом использования функций из других пространств имен в вашем коде. require
все в порядке, но вам придется ставить перед вашими функциями все пространство имен (например, clojure.contrib.generic.math-functions/abs
), так что это не практично. Использование пространства имен без :as
позволяет вам использовать эти функции вообще без какого-либо префикса (например, abs
), но вы с большей вероятностью столкнетесь с пространством имен, и вам может быть трудно увидеть, откуда поступают функции, особенно если вы :use
много библиотек.
Вы можете просмотреть все библиотеки, доступные в репозитории leiningen по умолчанию, отметив http://clojars.org/repo/. Структура clojure-contrib
изменится, когда выйдет 1.3.0, поэтому вам придется включить определенную библиотеку contrib, если вы используете версию 1.3.0-alpha-xx:
[org.clojure.contrib/generic "1.3.0-alpha4"]