Эффект (use '[clojure.string :as str])
, кажется, загружает все, что от clojure.string, в текущее пространство имен без квалификации пространства имен. Эффект (use '[clojure.string :as str :only (join)])
, по-видимому, загружается только в текущее пространство имен, что делает остальное пространство имен clojure.string доступным с префиксом str/
. Есть ли способ просто сделать полное пространство имен clojure.string доступным с префиксом str/
без выбора каких-либо имен, которые я хочу напрямую импортировать в текущее пространство имен?Уточняющий Clojure «Использовать как» семантика
ответ
require
- предпочтительный метод для обращения к другим пространствам имен. Вы используете :as
, чтобы предоставить префикс для требуемого пространства имен. Вы можете использовать :refer
для передачи определенных символов в пространство имен без необходимости квалифицироваться. Если вы хотите импортировать все символы в пространство имен, вы можете использовать :all
вместо имен символов, хотя его использование должно быть ограничено.
use
больше не используется и его избегают, потому что это затрудняет понимание того, откуда приходит безоговорочный символ. Я даже не понял, что use
может предоставить :as
, это не указано в строке документа.
Обратите внимание, что различные форматы, используемые в файлах исходного кода Clojure, и REPL, которые могут сбивать с толку, если вы их смешиваете. В файле исходного кода, используются ns
макроса:
(ns example.core
(:require [clojure.string :as str]
[datomic.api :as d]))
поэтому мы используем :require
ключевое слова (с двоеточием), а векторы имен Specifcation являются неупомянуты. Сравните с тем, что вам нужно ввести в РЕПЛ:
(require '[clojure.string :as str])
где мы вызываем функциюrequire
(без двоеточия), и, следовательно, должны указать вектор спецификации пространства имен.
- 1. уточняющий код более конкретно?
- 2. Как использовать `Clojure --main`
- 3. Как использовать иерархии clojure?
- 4. Swift Insert Element Уточняющий индекс
- 5. Что такое семантика ref-set clojure, которая не «читает» ref?
- 6. Уточняющий порядок операций в Oracle
- 7. Как использовать Zip в Clojure?
- 8. Как использовать вложенные в clojure
- 9. Как использовать clojure jdbc execute?
- 10. Как использовать предикаты в clojure?
- 11. Семантика указателя на функцию и семантика-указатель
- 12. Что такое "абстрактная семантика" и "фактическая семантика"?
- 13. действия семантика и операционная семантика в UML
- 14. патч семантика
- 15. Семантика dispatch.yaml
- 16. Семантика = и! =
- 17. семантика __module__
- 18. семантика hGet
- 19. Уточняющий тест AngularJS с использованием ng-html2js
- 20. libclang: как получить маркер семантика
- 21. Как использовать легкую нить в Clojure?
- 22. Clojure Korma: Как использовать макрос в функции?
- 23. Как использовать «Обновление в» в Clojure?
- 24. Как использовать функцию карты в clojure?
- 25. Как использовать все ядра процессора в Clojure
- 26. Как использовать собственные версии библиотек Clojure?
- 27. Clojure: Как использовать-светильники при тестировании
- 28. Как я могу использовать песочницу Clojure?
- 29. В Clojure, как использовать динамический класс Java?
- 30. Как использовать локальные зависимости в Clojure?