【问题标题】:Using Nightcode IDE with Clojure将 Nightcode IDE 与 Clojure 一起使用
【发布时间】:2013-09-29 18:40:09
【问题描述】:

我刚开始在空闲时间学习 Clojure 并获得乐趣。我安装了 Leiningen,并让 REPL 在 Windows 命令上运行。但我想使用 IDE 并下载了 Nightcode 。但是我遇到了缺乏 Java 经验和缺乏文档的问题。

我尝试阅读Leiningen documentation,但这也没有多大意义。我知道我不了解基础知识。当我点击运行 Nightcode 时,我得到了这个结果

Running...
Compiling my-project.core
Hello, World!

我知道这是一个非常新的问题,但任何人都可以指导我到正确的地方,了解如何输入一些 Clojure 函数并运行它并在 Nightcode 中查看结果?我期待看到像 Python IDLE 这样简单的东西,但这是非常不同的。

谢谢。


关于 Jared314 的回答:

现在我在顶部窗口中有这段代码:

(ns newclojureproject.core
  (:gen-class))

(+ 1 2 3)

我点击 Run with REPL 并没有看到 sum 的结果,但是这个

my-first-project.clj=> Running...
Compiling my-first-project.clj
Running with REPL...
nREPL server started on port 51595 on host 127.0.0.1
REPL-y 0.2.1
Clojure 1.5.1
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)

my-first-project.clj=> Running...

=== Finished ===

=== Finished ===

我做错了什么?

【问题讨论】:

  • 我认为,如果您想查看文件中代码的输出(右上方窗格),您应该单击“运行”而不是“使用 REPL 运行”@oaks 如果我知道,请告诉我错了;但我相信“运行”会运行您的代码,而“使用 REPL 运行”不会运行任何东西;但它只会打开一个可以访问您程序功能的 REPL。

标签: clojure


【解决方案1】:

我是 Nightcode 的作者,所以我可以提供帮助。 Run with REPL 按钮相当于在命令行上运行“lein repl”。它应该会弹出一个提示,您可以在其中输入项目上下文中的 clojure 命令。您可能已经快速连续单击了多个按钮,因此提示不可用。

请记住,如果您只是想要一个简单的 REPL 来尝试使用 Clojure 命令,只需使用窗口左下方的那个即可。它本质上是一样的,除了它永远在线并且无权访问任何项目的命名空间。我正是针对这些您只想快速尝试命令的情况添加了它。

如果您还有其他问题,请随时在此处或Nightcode subreddit 上提问。

【讨论】:

  • 感谢您的回答。很遗憾我不能完成这项工作,因为我比 Light Table 更喜欢这个界面。左下角的 REPL 没有问题,可以正常工作。我想我不明白顶部框架是做什么用的。我在其中输入了一个简单的函数,例如(+ 1 2),我想运行它并希望看到结果。结果应该出现在哪里?
  • 抱歉让您久等了;我没有收到您写此评论的通知,所以直到现在我才看到它。我不太确定您所说的“顶部框架”是什么意思。你在哪里输入函数?请在 Nightcode subreddit 上发一个新的文字帖子,我们可以讨论它。
  • 也许你应该输入(println (+ 1 2)) 来查看结果。
【解决方案2】:

尝试使用Run with REPL,当您对文件进行修改时,它旁边的Reload 按钮。创建项目并在 src/my_project/ 目录中添加新的 clj 文件,在文件顶部添加 ns 语句和 Run with REPL

当您向文件添加函数并保存文件时,单击Reload 按钮以使您的更改可用于 REPL。 (注意:Reload 按钮仅在项目中的文件已更改并保存时才起作用。)由于底层 JVM 的限制,您可以重新加载哪些类型的更改有一些限制。当您更改项目依赖项时,在 project.clj 文件中,您可能需要单击Stop,然后再次单击Run with REPL

我还发现我的 Nightcode REPL 有一个奇怪的问题,有时某些语句在第一次没有执行。我通过按 Enter 来解决该问题,返回到提示符,然后使用向上箭头并再次执行它。

【讨论】:

  • 谢谢。我仍然有问题。如果你可以看一下,我编辑了这个问题。还有ns 语句有什么作用?
  • 我想知道您如何使用 NightCode 中的其他 Leiningen 命令,例如 lein deps ?
【解决方案3】:

我对夜间代码的唯一怪癖,它永远不会为你关闭括号。对于像 Clojure 这样的语言来说,使用 Rainbow 括号的光表是一件大事,它是一个很好的视觉辅助工具。除此之外,我真的很喜欢它与 Leiningen 的集成点,用于构建、测试和使用 repl。 Light table 对我来说仍然存在稳定性问题,我倾向于经常破坏它并最终不得不重新启动应用程序。

【讨论】:

    【解决方案4】:

    Nightcode 是我用过的最糟糕的 IDE。保存不起作用,撤消或重做都不起作用。它没有复制粘贴菜单,您需要使用快捷方式,就好像我们仍处于 80 年代一样。它的运行速度就像您的计算机使用了 15 年一样慢。它滞后了很多。有抱负的 Clojureians 应该使用什么,Emacs?记事本++?我真的希望像 Clojure 这样的东西能够拥有真正意义上的真正 IDE。

    【讨论】:

      【解决方案5】:
      1. 只需单击代码下方的第三个选项卡Run with REPLcommand,即可启动 REPL。
      2. 现在点击代码上方的第四个标签InstaREPL/

      现在无论您在编辑器中编写什么,您都可以在编辑器左侧以绿色看到其结果。 如果有任何错误/异常,它将以红色显示。

      希望对您有所帮助!

      【讨论】:

        猜你喜欢
        • 2021-08-22
        • 2011-01-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-19
        相关资源
        最近更新 更多