Как включить все файлы в папку с помощью clojure.Как включить все файлы в папку с помощью clojure
Вот мой код:
(defn LoadFiles[]
(include "utils")
)
(LoadFiles)
Но приведенный выше код не работает.
Как включить все файлы в папку с помощью clojure.Как включить все файлы в папку с помощью clojure
Вот мой код:
(defn LoadFiles[]
(include "utils")
)
(LoadFiles)
Но приведенный выше код не работает.
Насколько я знаю, в clojure нет include
(исправьте меня, если я ошибаюсь). Вы должны использовать use
или require
.
Это один, вероятно, следует работать (для всех .clj файлов в utils
верхнем уровне, но вы можете легко расширить его рекурсивным):
(defn list-sources [path]
(map #(str path "." (second (re-matches #"^(\w+)\.clj$" (.getName %))))
(filter #(.isFile %) (file-seq path))))
(run! #(require (vector (symbol %) :refer :all))
(list-sources (java.io.File. "utils")))
Я пробовал с приведенным выше кодом и получил ошибку ниже: Исключение из потока "main" java.lang.RuntimeException: Не удалось решить символ: запустите! в этом контексте, компиляция: (/ home/user/Projects/Clojure/clojure-1.5.1/file.clj: 5: 1) –
oh, 'run!' был добавлен в clojure 1.7 .. для вашей версии вы можете использовать '(dorun (map # (require ...' – leetwinski
Могу ли я использовать следующее: '(load-file" utils/file-one.clj ")'? Мне нужно настроить конфигурационный файл, для которого мне нужно включить все clj-файлы из папки. Я новичок в этой технологии. –
Может быть что-то вроде:
(defn load-files [dir]
(doseq [f (file-seq (File. dir))
:when (.isFile f)]
(load-file (.getAbsolutePath f))))
(load-files "utils")
Я пробовал с кодом выше и получил ошибку ниже: Исключение из потока "main" java.lang.IllegalArgumentException: Не удалось разрешить имя_файла: Файл, компилирующий : (/ главная/пользователя/Проекты/Clojure/Clojure-1.5.1/file.clj: 2: 23) –
, что вы имеете в виду «включить»? вы хотите «потребовать» их? или загрузить контент? – cfrick
Я хочу загрузить все содержимое из файлов .. –
, тогда я бы пошел на что-то вроде этого '(filter # (. IsFile%) (file-seq (io/file" utils ")))' – cfrick