Зачем нам нужны все require
, import
и use
?
Каковы различия между `require`,` import` и `use`?
Ответ 1
Требовать
require загружает библиотеку Clojure, чтобы вы могли использовать ее в своем текущем файле или REPL.
Это обычный способ доступа к функциям и определению в библиотеке Clojure.
Использование
use вводит пространство имен Clojure таким же образом, но, кроме того, оно относится к определения в загруженном пространстве имен из текущего пространства имен (т.е. создает удобный псевдоним в текущем пространстве имен).
Не переутомляйте его (каламбур) - он может легко вызвать конфликты пространства имен!
Импорт
import предназначен для импорта классов Java и интерфейсов.
user=> (import java.util.Date)
java.util.Date
user=> (def *now* (Date.))
#'user/*now*
Если вам не нужно взаимодействовать с кодом Java, вы можете безопасно игнорировать импорт.