草庐IT

clojure-contrib

全部标签

java - 如何让 Command-W 在 Mac OS 上用 Java 或 Clojure 关闭窗口

我想让⌘+W在我用Clojure编写的程序中关闭窗口/JFrame。这将如何实现?也欢迎使用纯Java解决方案。 最佳答案 这是一种方法:ActioncloseWindow=newAbstractAction("CloseWindow"){@OverridepublicvoidactionPerformed(ActionEvente){//windowclosingcodehere}};closeWindow.putValue(Action.ACCELERATOR_KEY,KeyStroke.getKeyStroke(KeyEven

java - Clojure STM ( dosync ) x Java 同步块(synchronized block)

ClojureSTM(dosync)方法和Java同步块(synchronizedblock)有什么区别?我正在阅读下面来自“sleep的理发师”问题的代码。(http://www.bestinclass.dk/index.clj/2009/09/scala-vs-clojure-round-2-concurrency.html)(defnthe-shop[a](print"[k]enteringshop"a)(dosync(if(为了避免竞争条件,使用了dosync,所以我问自己“与Java同步块(synchronizedblock)有什么区别(STM)”?它会阻止这个关键代码吗?提

java - 我如何查看与 Clojure 中的对象关联的方法?

在Clojure中,我使用什么函数来查看Java对象的方法?user=>(some-functionsome-java-object)...lotsofmethods... 最佳答案 从1.3版开始,Clojure与clojure.reflect捆绑在一起。命名空间。函数reflect特别是可用于显示对象的所有方法(和其他信息)。使用起来不如show方便。另一方面,它更通用,使用reflect作为构建block很容易编写您自己的show版本。例如,如果您想查看返回字符串的所有方法:user=>(use'clojure.reflect

java - Clojure 转换器与 Java 中流的中间操作的概念相同吗?

当我学习Clojure中的转换器时,突然让我想起了它们让我想起的东西:Java8流!Transducersarecomposablealgorithmictransformations.Theyareindependentfromthecontextoftheirinputandoutputsourcesandspecifyonlytheessenceofthetransformationintermsofanindividualelement.Astreamisnotadatastructurethatstoreselements;instead,itconveyselementsf

java - 如何使用 clojure 实例化 Path 对象

由于Path类没有公共(public)构造函数,因此路径对象是使用Paths对象中的get工厂方法创建的。例如Pathp2=Paths.get("/home/admin","Migrations","/blog/tables/6-rating.xml");//orPathp2=Paths.get(newURI("file://home/debianaut/Migrations/blog.sakhunzai/tables/6-rating.xml"));我们如何以Clojure的方式做到这一点? 最佳答案 user>(java.nio

java - 如何在 Clojure 中调用重载的 Java 方法

对于此示例Java类:packagefoo;publicclassTestInterop{publicStringtest(inti){return"Test(int)";}publicStringtest(Objecti){return"Test(Object)";}}当我启动Clojure并尝试调用test(int)方法时,却调用了test(Object)方法,因为Clojure会自动将整数装箱到java.lang.Integer对象中。如何强制Clojure调用test(int)方法?user=>(.test(newfoo.TestInterop)10)"Test(Object)

java - 将 Java 类导入 Clojure

尝试在java库之外导入一个类,但没有结果。我在EclipseHelios上逆时针运行。commons-land-2.6.jar在构建路径中。我是Clojure的新手,无法弄清楚这一点。非常感谢所有帮助!自然这很好用:1:7exp2=>(import'(java.ioFileReader))>java.io.FileReader但这不是:1:6exp2=>(import'(org.apache.commons.lang.StringUtils))>nil这是最终目标:1:10exp2=>(defnwhitespace?[character](.StringUtils(isEmptych

java - 使用 Java 对象作为 Clojure 映射

我有一个要在Clojure中使用的Java类。但是,我想将它用作Clojuremap。这样做需要哪些步骤?我查看了IPersistentMap的代码——Java类应该实现它吗?还是应该有一些实现协议(protocol)的Clojure代码?我知道我可以只编写一些映射代码,将代码从Java对象显式转换为映射,但该解决方案的付出/返回比很高。此外,我可能会多次遇到同样的情况。具体示例:我有一个用Java编写的解析器。我想用它来解析一些文本,然后像在Clojure映射中一样访问已解析数据结构的内容:(defparser(newMyParser))(let[parse-tree(parser.

java - 为什么使用 Clojure 而不是 Java 进行并发编程

当Java提供并发编程能力时,使用Clojure(而不是Java)的主要优势是什么? 最佳答案 Clojure专为concurrency而设计.Clojure提供了比Java更高抽象级别的并发原语。其中一些是:一个软件事务内存系统,用于处理对共享引用的同步和协调更改。您可以将多个引用更改为原子操作,而不必担心程序中的其他线程正在做什么。在您的交易中,您将始终拥有一致的世界观。用于异步更改的代理系统。这类似于Erlang中的消息传递。线程对变量进行局部更改。这些变量有一个根绑定(bind),由程序中的每个线程共享。但是,当您重新绑定(

java - 如何将类型化集合从 clojure 传递到 java?

我了解clojure/java互操作的基础知识:从clojure调用java,反之亦然。但是,我无法将类型化集合从clojure返回到java。我正试图看到那种性质的东西List来自调用clojure的java代码。JavaObject:publicclassTypedObject{privateOtherType1_prop1;publicOtherType1getProp1(){return_prop1;}publicvoidsetProp1(OtherType1prop1){_prop1=prop1;}}CLojuremethod:(defn-createListOfTypedO