Определение Clojure - основная функция в IntelliJ

Мне нужен некоторый очень простой совет относительно того, как определить работу - основная функция в IntelliJ вроде:

(ns clojure.examples.hello
    (:gen-class))

(defn -main
  [greetee]
  (println (str "Hello " greetee "!")))

Когда я создаю проект, вставляю предыдущий код в исходном файле и устанавливаю конфигурацию выполнения (с путем Сценария, модулем, работая dev, и "Запущенным скриптом в REPL", выбранном), я добираюсь :java.lang.Exception: Unable to resolve symbol: -main in this context (NO_SOURCE_FILE:1)" каждый раз, когда я работаю (-main "Some Greeting"). Любой совет был бы полезен.

8
задан Mitch Dempsey 12 July 2010 в 00:18
поделиться

1 ответ

Я думаю, что REPL La Clojure начинается в пространстве имен user (как и большинство - все? - REPL Clojure); вам придется переключиться на пространство имен вашего проекта с помощью (in-ns 'clojure.examples.hello) или (use 'clojure.examples.hello) для вызова функций, определенных там. Еще лучше, (require '[clojure.examples.hello :as hello]) и вызывать их как (hello/-main "IDEA").

5
ответ дан 5 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: