在IntelliJ中定义Clojure -main函数

时间:2010-07-12 00:15:50

标签: clojure main intellij-idea

我需要一些关于如何在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 个答案:

答案 0 :(得分:5)

我认为La Clojure的REPL从user命名空间开始(大多数 - 全部? - Clojure REPL这样做);您必须使用(in-ns 'clojure.examples.hello)(use 'clojure.examples.hello)切换到项目的命名空间,以调用其中定义的函数。更好的是,(require '[clojure.examples.hello :as hello])并将其称为(hello/-main "IDEA")