gpt4 book ai didi

java - 缺少 Clojure 库(所以使用 Java)...?

转载 作者:行者123 更新时间:2023-12-04 06:21:12 25 4
gpt4 key购买 nike

在 Clojure 中,使用 Java 库很容易……但是 Clojure 没有哪些库最好用 Java 完成?

最佳答案

对这个答案提出一个直截了当的问题并不容易,因为首先需要定义 Clojure 库和 Java 库之间的区别。 (更是如此,因为 Clojure 是一个 Java 库 :))

好的,让我们从一个假设开始,即 Clojure 库是用 Clojure 编写的任何库,并且简单地忽略 Clojure 实现本身中的 Java 代码。但是,如果给定的库使用了一些 Java 依赖项,比如 Apache Commons 库之一,该怎么办?它仍然可以作为 Clojure 而不是 Java 库吗?

对于两者之间的区别,我自己的标准(我也猜你的标准)是该库是否公开了具有命名空间、函数、序列的 Clojure 样式接口(interface),还是具有类、方法和集合的 Java 样式接口(interface)。

围绕这些 Java 库编写 Clojure 包装器几乎是微不足道的。根据我的经验,如果您想在应用程序的整体功能设计中适应库的功能,这将非常有用。一个简单的例子是,如果你想 map针对序列的 Java 方法。您可以使用临时定义的匿名函数来包装方法调用,也可以使用包装层中的命名函数。如果你经常做这样的事情,第二种方法可能更适合,至少对于最常用的方法。

所以,我的结论是任何 Java 库都应该很容易转换为 Clojure 库。所需要的只是为它编写一个包装器。

另一个结论是它可能根本不需要。如果您只想调用该方法,您仍然可以只调用该方法并避免所有架构航天。 :)

关于java - 缺少 Clojure 库(所以使用 Java)...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6533257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com