Определение Clojure -основной функции в IntelliJ - PullRequest
8 голосов
/ 12 июля 2010

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

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

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

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

1 Ответ

5 голосов
/ 12 июля 2010

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

...