clojure相关内容
我刚刚从 #= 阅读器宏-expand-before-system-macros">post 在 Stackoverflow 上它解决了一个问题.这个阅读器宏成为一个的可能性有多大语言的官方(记录)部分?如何弃用或改变了行为? #= 阅读器宏使 Lisp 阅读器对以下 s 表达式求值(在宏展开之前). 解决方案 当某些内容以 *print-dup* true 打印时,核心语言会使用它
..
在 Clojure 程序中,我有一个由包含人们姓名和电子邮件的映射组成的数组. 例如 [{ :name "John" :email "john@gmail.com" }{ :name "蝙蝠侠" :email "batman@gmail.com" }{ :name "John Doe" :email "john@gmail.com" }] 我想删除重复的条目,为了比较目的,具有相同电
..
我想将本地 jar 编译到我的 clojure 项目中,我可以使用以下内容轻松完成 https://gist.github.com/stuartsierra/3062743 mkdir 存储库mvn install:install-file -DgroupId=local -DartifactId=bar \-Dversion=1.0.0 -Dpackaging=jar -Dfile=ba
..
正如我在这里询问并回答的那样,我发现运行 'sudo lein deps 会导致一些问题,迫使我运行 'sudo lein swank',这很烦人.而且 有人告诉我不要使用 sudo. 我使用的是 Mac OS X 10.6.4. 所以,我会尝试卸载并重新安装 leiningen. 卸载leiningen 删除 ~/.m2 目录只是卸载,是否正确? (重新)安装 leini
..
我对 Clojure/Lisp 宏不是很熟悉.我想编写 apply-recur 宏,它与 (apply recur ...) 具有相同的含义 我想没有真正需要这样的宏,但我认为这是一个很好的练习.所以我在寻求你的解决方案. 解决方案 嗯,真的没有必要,如果只是因为 recur 不能接受可变参数(一个 recur 到函数的顶部需要一个最终的 seqable 参数,将所有参数分组并传递最后
..
我知道 -> 形式可用于将一个函数结果的结果传递给另一个: (f1 (f2 (f3 x)))(-> x f3 f2 f1) ;相当于上面的行 (摘自 ociweb 上的优秀 Clojure 教程) 但是,此表单要求您知道在设计时要使用的功能.我想做同样的事情,但在运行时使用任意函数列表. 我已经编写了这个循环函数来完成它,但我觉得有更好的方法: (defn pipe [initi
..
如何使用 Clojure 从 Web 下载图像并将其保存到文件系统?我知道图像 url 并且我知道我不能使用 spit 和 slurp 来做到这一点,因为它是二进制数据,而不是文本. 我想尽可能简单地做到这一点,理想情况下就像吐痰和啜饮一样.也就是说,没有很多额外的行使用缓冲区或字节数组.我想在完成后关闭流,但我不在乎它是否效率低下. 解决方案 何志同 指向我这个解决方案,最适合我的
..
或者我是否必须专门枚举我导入的每个类? 我现在只是在学习 Clojure,能够在 REPL 中做这样的事情似乎很有用: (import '(java.io *)) 并不是说这是有效的语法,但是如果有一些等效的东西会很好.它会节省一些打字的时间,尤其是在修补时.在实际的生产代码中,我总是枚举我正在导入的每个类,而不管语言如何,但不必这样做非常方便. 解决方案 Rich Hickey
..
我经常需要在 clojure 中取消定义一个函数.如果我用 defn 定义了一些东西,我怎么能取消它呢? 解决方案 如果你有: (def x 42) 解绑 var 可能很有用: (.unbindRoot #'x) 现在,如果你试试这个 x 你得到: #
..
我希望以 Newick 格式 打印二叉树,显示每个节点与其父节点的距离.目前我没有遇到以下代码的问题,它使用常规递归,但树太深可能会产生堆栈溢出. (定义树->newick[树](让 [{:keys [id children to-parent]} 树dist (双到父)] ;to-parent 可能是一个理性的(如果孩子(str "(" (tree->newick (first childre
..
我有 Clojure 函数 generate-id. 源代码: (ns url62.core)...(defn 生成 ID [](int-to-base62 (java.math.BigInteger. (clojure.string/replace (str (java.util.UUID/randomUUID)) "-" "") 16))) https://github.com/8p
..
我正在尝试使用 gcloud 库. (ns firengine.state(:进口[com.google.cloud AuthCredentials][com.google.cloud.datastore DatastoreOptions]))(-> (DatastoreOptions/builder)(.projectId "")(.authCredentials(AuthCredential
..
我是使用 Clojure 和 Leiningen 的初学者,在尝试使用各种 lein 命令时遇到了问题.尽管 $ lein deps 工作正常,但当我尝试使用 $ lein plugin install ,甚至 $lein help 时,我得到下面粘贴的堆栈跟踪.我猜这是一个设置问题,但我无法在线查找信息或找到合适的位置开始查找.安装 lein 时,我按照 Leiningen Gi
..
使用 lein 2.2 时,尝试将 jar 文件放在/lib 中不起作用. 我试过了,它似乎不起作用,但有很多文档说这种方式仍然有效. 解决方案 在 Leiningen v2.0 中删除了 lib 目录功能,以支持存储库 (可重复性). 要将自由浮动罐添加到项目中,您需要将您的依赖项部署到 Clojars 或 Maven 存储库.Maven 存储库可以像项目文件夹中的目录一样简
..
我正在使用 emacs 和 swank-clojure.我如何解决以下情况 - 我向 project.clj 添加了一个新的依赖项. 我在 shell 中运行 lein deps 以获取新的 dep. 我有一个已打开的现有 Slime 会话,我想使用新部门的功能. 如何让现有的 slime 会话加载新的依赖项? 谢谢,穆尔塔扎 解决方案 你应该看看 pomegrana
..
我正在为用 C++ 编写的程序编写插件. 插件被放置在一个特定的目录中并被主应用程序调用.我想用 Clojure 编写大部分插件(gui、计算等),但是实际的“插件"需要用 C++ 编写.各种数据需要从C++传递到Clojure. 我该怎么做? JNI/JNA、套接字、系统调用?(我知道的不多) 解决方案 我知道这个问题很老,但也许有人觉得这很有用. #include
..
据我所知,如果我想定义一个只能由一个defrecord实现的协议(defprotocol),我仍然需要定义协议首先,然后定义实现它的defrecord: (defprotocol AProtocol(a-方法[这个])(b-方法[这个那个]))(defrecord ARecord [a-field b-field]协议(a-method [this] ...)(b-method [this th
..
手头的问题是,当我用 lein run 运行我的程序时,它进入了 (read-line) 部分,我无法摆脱它,意思是:读行永远不会返回. 相关代码如下: (def 命令(原子""))(defn 打印提示 [](打印“提示>")(冲洗))(defn 请求输入 [](打印提示)(让 [x (str (read-line))](println (str "用户输入:" x))(重置!命令 x))
..
我查看了 algo.monads 和 fluokitten 文档.我还通读了 Jim Duey、Konrad Hinsen 和 莱昂纳多·博尔赫斯. 我能在 Clojure 中找到 Reader Monad 的唯一参考是这个谷歌小组讨论. 我的问题是:是否可以执行 Clojure 中 Haskell 的 Reader Monad? 你能举个例子吗? 解决方案 好的.Reader
..
(def evil-code (str "(" (slurp "/mnt/src/git/clj/clojure/src/clj/clojure/core.clj") ")" ))(def r (读取字符串邪恶代码)) 有效,但不安全 (def r (clojure.edn/read-string evil-code))RuntimeException Map 文字必须包含偶数个形式 cloj
..