问题标签 [clojure-contrib]
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.
sql - Compojure + clojure.contrib.sql:正在缓存 SELECT 查询。为什么?
我正在编写一个 Compojure TODO 应用程序,并将 MySQL 作为主要数据存储。我正在使用 clojure.contrib.sql 与 MySQL 交互,如下所示:
我正在使用的查询似乎有效,但结果似乎已被缓存。例如,运行后
该值已成功插入数据库。然而,
无论插入多少项,都返回相同的值。当然,如果我重新启动网络应用程序,结果会更新,但这似乎对生产不太友好:)。
知道为什么会发生这种情况吗?提前致谢。
根据要求,这是 SELECT 查询的顶级表单:
clojure - 从 jar 中导入 clojure 函数
我正在玩 Clojure,但我不知道如何从 clojure-contrib.jar 导入函数。根据这个答案,我正在执行以下操作:
像这样运行 REPL:
然后尝试导入一个函数:
它不起作用,我收到以下错误:
java.io.FileNotFoundException: 无法在类路径上找到 clojure_contrib/duck_streams__init.class 或 clojure_contrib/duck_streams.clj: (NO_SOURCE_FILE:0)
尝试用点而不是破折号也不起作用:
我得到了几乎相同的错误:
java.io.FileNotFoundException: 无法在类路径上找到 clojure/contrib/duck_streams__init.class 或 clojure/contrib/duck_streams.clj: (NO_SOURCE_FILE:0)
我究竟做错了什么?
clojure - 如何在 Clojure 中将序列转换为字节 []?
我需要将原始字节写入文件。我这样做:
...其中字节必须是 byte[] 类型。请注意,它不能是 Byte[]。
我试图用 (bytes) 和/或 (into-array) 函数来转换我的序列,结果很沮丧,一个例子:
继续:
带有 Byte/TYPE 的 into-array 工作正常。但是,字节数组没有。文件变空:
clojure - 用于 Clojure 中的身份单子
我一直在为 Clojure 程序员阅读关于 monad 的精彩介绍。这篇文章说明了 Identity monad 在功能上等价于 Clojure 的let并且 Sequence/List monad 等价于for。
当文章谈到 monad 转换器时,它展示了一个结合 Maybe 和 Sequence monad 的示例。好的,所以使用 Sequence monad 而不是 for 的一个原因是我可以转换它。但是,转换 Identity monad 对我来说没有意义——这不总是等同于构建转换 monad 的任何东西吗?例如,如果我用 Identity 转换了 Maybe - 那不只是给了我一个 Maybe,这会更容易直接声明吗?
有人可以澄清在 Clojure中选择 Identity monad 而不是let是否有实际用途(也许我没有一直考虑变压器的含义?),还是只是为了理论上的完整性?
clojure - Clojure contrib sql 使所有数字成为 BigDecimal
clojure.contrib.sql 库为所有数字字段返回 BigDecimals。将某些字段设置为整数的好方法是什么?下面的示例代码:
在生成的记录集合中,所有数字都是 BigDecimal。其中一些是外键,出于我自己的原因,我需要它们是整数。
我知道我可以遍历集合并转换它们,但我不想这样做,因为它是一个非常大的集合,如果数字适合整数,让库使用 ResultsSet.getInteger 似乎是正确的。
DB是Oracle,整数DB字段定义为NUMBER(10)
谢谢
clojure - 如何在 clojure 1.2 下包含 clj-time 和 clojure.contrib?
由于 1.2 中引入了新协议,我尝试将项目从 clojure 1.1 迁移到 1.2。但是,当我尝试:use
clojure-contrib.duck-streams 时,我会收到关于 clojure.core 中已经存在的“spit”的警告。clj-time.core 和 clojure.core 中也存在“extend”的问题相同。
谁能解释解决这些愚蠢错误的最优雅的方法是什么?
顺便说一句:来自我的project.clj
:
java - clojure-contrib.jar 导入错误
命令行为“D:\Progra~1\Java\jre6\bin\java.exe -jar D:\Old\Clojure\clojure.jar D:\Old\Clojure\clojure-contrib.jar” 出现以下错误:clojure .lang.Compiler$CompilerException: clojure-contrib.jar:0: Unable to resolve symbol: PK♥♦ 在这种情况下
clojure-contrib 版本是 1.1.0 如何使用库调用 clojure 对吗?
clojure - 使用 clojure 读取大型命令输出
我正在使用 clojure.java.shell 命令中的 sh 函数来读取命令的非常大的输出。输出约为 60meg 的数据。
我不断收到 java.lang.OutOfMemoryError。有没有办法打开一种管道,让我读取输出并将其解析为 vector 。就像命令输出的惰性序列?
基本上数据是一个大字节数组,我想将其转换为数字并放入向量中。
clojure - 在 Clojure 中从字符串创建列表
我正在寻找使用字符串作为源来创建字符列表。我做了一些谷歌搜索并没有想出所以我写了一个函数来做我想要的:
但看着这个让我觉得我一定是错过了一个把戏。
- 是否有核心或贡献函数可以为我执行此操作?当然,我只是愚蠢的对吗?
- 如果没有,有没有办法改进这段代码?
- 同样的事情也适用于数字吗?
clojure - 如何获取 Clojure 命名空间中定义的所有函数?
我想查看当前命名空间中定义的所有函数。我可以在 REPL 中调用一个函数来回答这个问题吗?