clojure-java-interop相关内容
我正在尝试解析一个相当小的 ( (需要'[clojure.data.xml :as xml]'[clojure.java.io :as io])(xml/parse (io/reader "data/small-sample.xml")) 我收到一个错误: OutOfMemoryError Java 堆空间clojure.lang.Numbers.byte_array (Numbers.ja
..
Clojure 有 gen-class、reify、proxy 以及 deftype 和 defrecord 来定义新的类数据类型.对于一种重视语法简单并厌恶不必要的复杂性的语言来说,这似乎是一种失常.有人可以解释为什么会这样吗?Common Lisp 风格的 defclass 就够了吗? 解决方案 这是三个不同因素的混合: jvm 的特定类型系统 在定义类型时需要针对不同的用例使
..
我有一个 java.util.HashMap 对象 m(调用 Java 代码的返回值),我想获得一个带有额外的键值对. 如果 m 是 Clojure 映射,我可以使用: (assoc m "key" "value") 但是在 HashMap 上尝试会得到: java.lang.ClassCastException: java.util.HashMap 无法转换为 clojure.l
..
是否可以使用 leiningen 在项目中与 Clojure 一起轻松管理和编译本机 Java 类? 我在一个相当低的级别(使用 netty nio)工作,并认为在构建代码和性能方面,一些管道类实际上更容易作为原始 Java 处理. 解决方案 在 莱宁根教程 有如下声明 对于包含一些 Java 代码的项目,您可以将 project.clj 中的 :java-source-pat
..
我正在将一个 java lib 包装到 clojure 中,但是我在处理可变长度参数时遇到了问题.说, TestClass.aStaticFunction(Integer... intList){/*....*/} 我如何在 clojure 中调用这个函数? 解决方案 由于 Java 可变参数是 实际上是数组,您可以通过传递数组来调用 Clojure 中的 vararg 函数.
..
大多数关于“从 Java 调用 clojure"的谷歌热门搜索已经过时,建议使用 clojure.lang.RT 来编译源代码.假设您已经从 Clojure 项目构建了一个 jar 并将其包含在类路径中,您能否帮助清楚地解释如何从 Java 调用 Clojure? 解决方案 更新:自从发布此答案后,一些可用工具发生了变化.在原始答案之后,有一个更新,包括有关如何使用当前工具构建示例的信息.
..
TL; DR:我无法在Android中调用Clojure方法.我收到错误消息,我不确定为什么. 我正在为学校项目构建一个Android应用程序.我已经学习了Clojure,并且希望将其用于我的应用程序的某些部分.(我不是的目的是要用Clojure编写整个程序,只是几个库.) 我已经能够将Clojure程序编译为 .jar 并从笔记本电脑上运行的Java调用它,但我什至无法在Androi
..
我是Clojure的新手,我正尝试使用Cheshire自定义编码器将EDN输出打印为有效的JSON格式,以用于Java中定义的类. 我的EDN文件:{:xyz #XyzBuilder"testString"}Clojure代码:(defn getXyz [str](.getXyz(XyzBuilder.)str))(defn自定义阅读器[]{'xyz/builder getXyz})(添加编码器
..
用于Java库的Twilio文档 此lib的MVN 我正在尝试使用Clojure的Twilio。 Clojure开发人员还很陌生,因此,一般来说,我想尽一切办法来导入lib。 我的 project.clj 看起来像这样: (defproject magical-new-project“ 0.1.0-SNAPSHOT” :description“ FIXME:写说明” :
..
我正在尝试在Clojure中实现以下Java接口: package quickfix; 公共接口MessageFactory { 消息create(String beginString,String msgType); 组create(String beginString,String msgType,int对应字段ID); } 以下Clojure代码是我尝试执
..
我正在尝试使用 argon-jvm 库在我的应用程序中进行哈希处理。 默认情况下,该库使用 Argon2i ,但是,我想使用 Argon2id 。为此,我需要将枚举值 Argon2Factory.Argon2Types.Argon2id 传递给 create 方法中重载的 Argon2Factory 类。
..
从Clojoure调用Java非常简单明了,但事实证明反向是不可预测的。 他们似乎有两种方式: 1)以下课程 i)import clojure.java.api.Clojure; , ii)import clojure.lang.IFn; 2)将你的clojure编译成uberjar,然后将其导入java 代码。 / p> 我选择了第二个
..
我有一个 java.util.HashMap 对象 m (从调用到Java代码的返回值)如果 m 是一个新的地图,并且我想要一个附加的键值对的新地图。 Clojure地图,我可以使用: (assoc m“key”“value”) 但是在 HashMap 上试试这个: java.lang.ClassCastException:java.util.HashMa
..
我尝试实施 org.joda.time。 ReadableInstant 。它继承自一个通用的接口,但显然不应该。 界面 is: public interface ReadableInstant extends Comparable { long getMillis(); Chronology getChronology(); DateTime
..
我试图在Clojure中编写一个通用的http / ftp文件下载器。我做了一些研究,发现我可以使用java的api - BufferedReader BufferedInputStream等,或者Clojure.java.io的api - writer,reader,input-stream,output-stream。 我发现Clojure的api比java的api更容易使用和读取,但是
..
我现在使用Clojure创建一个类对象,该对象具有返回对象本身的方法。 使用Java编写,我想创建的对象 class Point { public double x; public double y; public Point(double x,double y){ this.x = x; this.y = y; } public Point copy(
..
关于 aget性能的问题的后续跟进 似乎有一些非常奇怪的优化进行。我们知道以下是真实的: => (def xa(int-array(range 100000))) #'user / xa => (set!* warn-on-reflection * true) true => (时间(reduce +(for [x xa](aget ^ ints xa x))))
..
Clojure评估不纯的代码(或调用Java) 似乎副作用+延迟序列可能导致奇怪的行为。 这是我们知道的导致这个问题: Clojure有延迟序列: user => (取5(范围)); (范围)返回无限列表 (0 1 2 3 4) user => (def value(println 5)) 5; 5打印输出到屏幕 user => value
..
案例 doc说 与cond和condp不同,case恒定时间分派...所有方式的常数 表达式都是可以接受的。 case 的常量分派以匹配Java枚举。 Java的 switch 语句适用于枚举,但在Clojure中执行以下操作: (defn foo [x] (case x java.util.concurrent.TimeUnit / MILLISECONDS“yes!”
..
我试图解析一个相当小的( (require'[clojure。 data.xml:as xml] '[clojure.java.io:as io]) (xml / parse(io / reader“data / small-sample.xml”)) 我收到一个错误: OutOfMemoryError Java堆空间 clojure.lang.Numbe
..