【问题标题】:running clojure in eclipse (counterclockwise)在eclipse中运行clojure(逆时针)
【发布时间】:2013-09-15 11:31:52
【问题描述】:

我在eclipse上学习clojure(逆时针插件)。

  • 当我在 Eclipse 中单击“运行”时(就像我对 Java 所做的那样),我没有 只有控制台打开,但这个“REPL”窗口。为什么有必要 它有什么作用?
  • 当我单击“运行”时,启动应用程序需要几秒钟的时间。是 有没有办法让它更快?
  • 当我需要编辑代码并重新启动(运行)应用程序时,我得到了这个 消息:“选择无法启动,并且没有最近的 启动”。那是什么,为什么它不能让我重新启动我的代码? 如果我等待一段时间,我可以再次启动它。

这是我尝试运行的简单代码:

(ns ClojureTest.core)

(let [input (read-line)]
  (if (= "x" input)
    (do
      (println "Exit")
      (System/exit 0)
    )
    (do
      (println input)
      (recur)
    )
  )
)

更新:我设法把它搞砸了。现在,当我单击“运行”时,控制台会忽略任何输入,就好像应用程序甚至没有运行一样......

UPDATE2 我重启了eclipse,之前的问题就解决了。现在我可以再次在控制台中运行该应用程序。我不知道发生了什么。我能看到的唯一区别是,当我把它搞砸时——REPL 窗口标题看起来像这样:

REPL @ nrepl://127.0.0.1:60429 (user)

重启eclipse后又回到了这个:

REPL @ nrepl://127.0.0.1:60001 (ClojureTest.core)

我不知道这是什么意思。

【问题讨论】:

    标签: eclipse clojure counterclockwise


    【解决方案1】:

    每个项目只需要一个打开的 REPL。打开后,您可以通过从 Clojure 菜单中选择来评估现有文件(命名空间)中更改的代码。然后将所选内容或整个文件发送到 REPL 进行评估,具体取决于您选择的内容。您可以通过调用 REPL 中的函数来立即尝试您的更改。这称为交互式开发。在尝试更改之前,无需重新编译整个项目。

    CCW 的开发人员刚刚将“运行”按钮的操作选择为“为现有项目打开 REPL”。只用一次,开发时不要一直按。

    【讨论】:

    • 感谢您的回答,我想过类似的事情,但这完全令人困惑。我需要它来清除控制台并重新启动应用程序 - 我已经尝试了 Clojure 菜单中的每一项 - 他们似乎都没有这样做。
    • 你必须杀死控制台和 REPL。
    • 我承认这可能会造成混淆。如果您不想要惊喜,最好只使用 Clojure 菜单。
    • 所以,每次我编辑代码时,我都需要重新启动 REPL。我不明白有人如何使用这种语言进行开发。 Clojure 菜单中没有任何东西可以帮助解决这个问题。
    • 这与我在回答中所说的完全相反。您只需将更改提交到 REPL,而不是重新启动任何内容。这是 Clojure 与其他需要单一编辑/编译/运行周期的语言之间的主要区别。在 Clojure 中,您几乎可以在运行时重新定义所有内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-13
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多