问题标签 [cursive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
91 浏览

intellij-idea - Clojure 动态关键字构建器函数返回意外结果

当我在 repl 中定义我的函数时,它按我的预期工作。当我将它放入命名空间(即我的应用程序)并重新加载 repl 时,我丢失namespace了关键字上的组件。我不确定我在这里缺少什么。

希望能深入了解/解释为什么这个关键字生成器返回不同的结果。

REPL Repl_screenshot

应用程序 App_screenshot

已编辑- 截图

0 投票
0 回答
153 浏览

intellij-idea - clojure.lang.Repl 在带有草书的 IntelliJ 中已弃用

当我在 IntelliJ 中运行 Cursive repl 时,会显示以下警告:

有谁知道如何在 IntelliJ 中解决这个问题?

为了达到这一点,我:

  1. 按照草书说明进行设置。
  2. 在我的终端上仔细检查lein repl
  3. 仔细检查 Cursive repl 是否在正确的命名空间上运行。
  4. 研究并发现了许多与实际 Clojure 框架中的类似问题相关的解决方法。

目前,为了(-main)从 repl 执行,我首先运行(in-ns 'fileName)进入正确的命名空间,然后执行 -main 函数。我发现这比(fileName/-main)每次都输入完整信息更可取,但这仍然不是一个理想的解决方法。

0 投票
2 回答
269 浏览

clojure - 为什么 Clojure 无法推断出这种 def 类型?

我正在编写客户端/服务器测试,但遇到了一些意想不到的事情。在以下代码中,Socket无法推断构造函数的端口参数:

第一个参数的类型应该很明显,因为我传递的是文字。我认为端口的类型也很明显,因为它只是文字;尽管有一个隐藏在def.

但由于某种原因,它无法确定port. def我可以通过在, 或参数前面添加注释来解决它,但为什么这是必要的?类型是什么不应该很明显吗?

0 投票
1 回答
179 浏览

clojure - 具有 Datomic 依赖性的试剂模板会导致 leiningen REPL 中的错误行为

我开始了一个新的 Reagent 项目lein new reagent sample-proj(您可以使用最新的来重现问题)。过了一会儿,我为 datomic 添加了客户端依赖项(我不得不排除jetty-http,因为它与 冲突ring-server)。

然后我意识到在lein repl你不能再用(start-server). localhost:3000你只要得到ERR_SOCKET_NOT_CONNECTED一个. 控制台中没有消息。

更奇怪的是,如果我从 Cursive 中启动 nREPL,一切正常。

有谁知道这里发生了什么。我对此感到迷茫,因为在草书 REPL figwweelapp.js中找不到。我project.clj的是: https ://gist.github.com/frickm/4cfdba9ae812a909dfe8d5719c94718e 。

在此先感谢
弗里克

0 投票
1 回答
88 浏览

version-control - Cursive IDE:应该忽略哪些项目文件?

对于带有 Cursive IDE 的 Clojure 项目,版本控制应该忽略哪些项目文件?有.gitignore这样的项目的例子吗?

0 投票
1 回答
411 浏览

clojure - Clojure Cursive noob 加载到 repl 并且无法运行 hello world

探索 Clojure - 我正在通过Clojure For The Brave And True工作。我创建了 hello world(在这种情况下,我是一个小茶壶)。正如书中建议的那样,我可以从 lein repl 运行它。

这本书的作者似乎是 emacs 的忠实粉丝。我对Intellij Idea很满意,所以安装了Cursive插件。我然后:

  1. 设置一个 repl “runner”,如 Cursive 站点上所示。
  2. 尝试将 hello world 加载到 repl 中。它似乎已经这样做了。

怎么办?我想在加载编辑器的内容后,我可以运行它,但还没有弄清楚如何。显然,这是一个非常菜鸟的问题。

我的编辑器中的代码如下。

repl 窗口分为两个窗格。上面的痛苦表明它已连接到本地 nREPL 服务器。然后,加载后它指出:

在下部窗格中,根据评论,我尝试了 run 的两种变体,正如您在下面看到的那样,这两种变体都失败了(我并不惊讶第二次失败,因为它调用的是run,而不是函数)。


回答 感谢@Carcigenicate 的评论,我能够弄清楚该怎么做。答案是:

  1. 在下方窗格中输入 (clojure-noob.core/-main)
  2. 将光标定位到右括号的右侧
  3. 按回车。

这导致了以下结果:

告诉你这是一个菜鸟问题!

0 投票
2 回答
710 浏览

intellij-idea - REPL突然爆发

我使用 IntelliJ + Cursive。

我正在对正在编写的遗传算法进行一些测试,并获得了 NPE。不清楚它来自哪里,所以我启动了我的调试器。然而,当它启动时,一个RuntimeException中断被激活,它指向这里clojure.main

异常内容如下:

create我在它指向的代码中的任何地方都没有看到符号(这会很奇怪,因为它是clojure.main),我检查了我的整个项目,并且该符号没有在任何地方使用。我检查了异常指向的路径,发现这个烂摊子:

翻遍它,任何地方都没有任何create符号。最接近的匹配是 的两个实例create-ns。我假设这是一个由 REPL 出于某种原因自动生成的文件,所以我不希望它有问题。

如果我删除该文件,则会创建一个新文件,并且在新文件中会发生同样的错误。

现在,如果我打开一个普通的非调试 REPL,我也会得到同样的错误。这完全是凭空发生的。在我第一次启动调试器之前,我已经运行了一个 REPL,而且它启动得很好。该错误仅在我启动调试器后才开始,现在它不会消失。

我尝试过lein clean,手动删除临时文件,重新启动 IntelliJ我的计算机,并确保我的代码没有一个奇怪的编译器错误,可能以一种奇怪的方式表现出来。

谁能想到这可能是什么?为什么它认为create文件中甚至不包含未解析的符号create

0 投票
1 回答
591 浏览

intellij-idea - 传递的 args (0) 数量错误...错误?

我相信这是有效的 Clojure 代码——并且在 Lein 控制台 REPL 中运行良好——但 Cursive REPL 中的错误:

我在这里错过了什么吗?

谢谢您的帮助!

编辑和跟进:

这绝对是一个 Parinfer 问题。这段代码:

在打开 Parinfer 的情况下粘贴到 Cursive REPL 时会产生不正确的粘贴,并导致上面的 ArityException。在打开 Paredit 或关闭结构编辑的情况下粘贴到相同 REPL 中的相同代码会产生预期的输出:

我不知道在 Cursive 中活动时的结构编辑在编辑器中使用 - 以及 REPL。无论模式如何,我仍然希望有效代码是有效代码,并且想知道这是否是粘贴到 Cursive/Parinfer REPL 的预期结果。(?)

再次感谢您对此的帮助。

0 投票
1 回答
54 浏览

intellij-idea - 如何使开发卡在草书内工作?

我可以使用lein-figwheel 网站上的说明在 Cursive 中运行 figwheel (只有在 Intellij 中打开文件的选项不起作用)。我想对devcards做同样的事情。

0 投票
1 回答
2939 浏览

intellij-idea - 如何在 Cursive IDE 中启用彩虹括号?

我在 IDEA 社区版中使用Cursive 。它以黑色显示所有括号,这导致眼睛捕捉到表情边缘的问题。

Cursive 支持彩虹括号吗?如果是,如何启用它?