【问题标题】:using slimv with clojure将 slimv 与 clojure 一起使用
【发布时间】:2011-11-19 00:47:12
【问题描述】:

有没有关于将 slimv 与 clojure 结合使用的文档?

我把它连接到lein swank 并且有一个工作的repl,但不知道如何用它实际做任何事情。你如何让它加载一个 lein 项目及其命名空间?尝试遵循tutorial,但它似乎不能很好地转化为clojure。我试图告诉它加载我的命名空间,它似乎工作,但如果我尝试执行我的一个函数,我得到:

Unable to resolve symbol: handle-text-message in this context
  [Thrown class java.lang.RuntimeException]

Restarts:
  0: [QUIT] Quit to the SLIME top level

【问题讨论】:

  • 这不是一个很好的解决方案,但是您是否尝试过使用 clojure 的 emacs+slime? Slimv 对 vim 的处理应该与对 emacs 的 slime 一样,所以首先我建议检查如何在 emacs+slime 中使用 lein 项目,并尝试在 slimv 中执行相同的操作。如果在 slime 中工作的东西在 slimv 中不起作用,请向我报告,我会修复它。
  • 您是否尝试评估整个缓冲区而不仅仅是当前表单?
  • 是的,尝试评估整个缓冲区,但它没有在我的 (:require []) 表达式中加载命名空间,所以我得到了 NoClassDefFoundError
  • 查看this主题,我想它回答了你的一些问题。
  • 谢谢,这很有帮助。我正在取得进展。看起来需要一篇好的博客文章来描述这一点。如果/当我弄明白了,我会试着写点东西。

标签: clojure leiningen swank


【解决方案1】:

lein swank 不会从您的代码加载开始。但是,它确实以正确的类路径开头,以便您可以加载代码。

在最顶层的文件中,您可以使用 ,b 加载整个文件,然后您的整个程序 /should/ 从那里加载。

例如,在 https://github.com/elarkin/ants-demo 的根目录启动一个 swank 实例将加载一个正确设置类路径的 swank 服务器。

如果您随后在 VIM 中连接到该 swank 实例(使用 ,c)并在文件 /src/ants/ui.clj 上使用 ,b,则整个程序将被加载。

你可以通过手动运行main方法(-main)来查看证明

【讨论】:

    猜你喜欢
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-19
    • 2010-12-14
    • 1970-01-01
    相关资源
    最近更新 更多