如何将 Clojure memfn 与 Java 构造函数一起使用?

2024-04-10

我想使用 Java 构造函数作为一流的 Clojure 函数。我的用例是将字符串序列转换为具有单个字符串构造函数的 Java 对象序列:

简单的Java对象:

public class Foo {
  public Foo(String aString){
    // initialize the Foo object from aString
  }
}

在 Clojure 中我想这样做:

(defn make-foo (memfn Foo. a-string))
(apply make-foo '("one" "two" "shoe"))

apply 应该返回从字符串创建的 Foo 对象列表,但我得到了这个:

IllegalArgumentException No matching method found: org.apache.hadoop.io.Text. for class java.lang.String  clojure.lang.Reflector.invokeMatchingMethod (Reflector.java:53)

别打扰。memfn实际上已被弃用,取而代之的是匿名函数文字,您还可以使用匿名函数文字调用构造函数,例如#(Foo. %).

另外,你的applycall 将尝试调用make-foo一次带有三个字符串参数。您可能想要:

(map #(Foo. %) ["one" "two" "three"])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 Clojure memfn 与 Java 构造函数一起使用? 的相关文章

随机推荐

  • 如果达到标识列的最大值,将附加什么? [复制]

    这个问题在这里已经有答案了 可能的重复 主键 Id 会发生什么情况 当它超过限制时 https stackoverflow com questions 5305232 what happens to the primary key id w
  • “find”(命令)找不到 -wholename 的任何内容

    为什么这个命令有效 home user1 tmp find wholename tmp file c exec echo user2 tmp file c home user1 tmp 而且这个命令不起作用 什么也没发现 home user
  • 使用 StaticResource 作为 VisualTransition 的 Storyboard 时出错

    我在 Button 控件的 VisualStateGroup 内有一个 VisualTransition Storyboard 属性绑定到 StaticResource Storyboard
  • 如何将cropit中的图片导出到php进行上传?

    我已经在互联网上搜索了一段时间 但找不到任何可以告诉我如何将结果从 image cropper cropit export 转换为 PHP 可以上传到服务器的图像 我正在使用 Cropit 插件 我需要的只是一个可以传递到我的 php 上传
  • 如何在文本中间的

    内使用

    标记

    ? [复制]

    这个问题在这里已经有答案了 我想做这样的事情 p This is a p h2 text h2 paragraph 我禁用了 h2 的边距和填充 但它仍然打破了 h2 标签前后的线条 如何在文本中间使用 h2 标签并使其看起来像普通单词 就
  • Xcode 8 Swift 3 音高改变声音

    我正在尝试制作一个带有击中声音的简单游戏 每当您击中某物时 击中声音都会有不同的音调 我以为这很简单 但最终却带来了很多东西 其中大部分是我完全从别人那里复制的 func hitSound value Float let audioPlay
  • C 编程:预处理器、宏作为标记

    我正在尝试做一些概念上与此类似的事情 但似乎无法让它发挥作用 最后显示错误 任何想法 include
  • z/OS 如何调用 Web 服务? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个 COBOL 程序 需要从 Web 服务获取数据 如果不使用 CICS 我最好的选择是什么 我认为 C 程序可以读取 Web
  • Python-2.x 中的 super() 是否损坏? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在页面视图之间导航时如何取消所有正在运行的传奇

    当用户决定导航到应用程序内的另一个 页面 时 我正在尝试找到一种简单易用的方法来取消 页面 内所有正在运行的传奇 我们不使用路由 而是使用每个 页面 是一个更大的主机应用程序中自己的小部件 负责在用户导航时创建和加载每个页面 目前 我们正在
  • 在 .NET 5.0 上向 Windows 窗体添加配置

    我正在将现有的 Windows 窗体 C 应用程序迁移到 NET 5 0 并且我正在尝试遵循迁移文档 https learn microsoft com en us dotnet desktop winforms migration vie
  • CMake:执行宏/函数作为add_custom_command的命令

    我正在使用一个外部库 它提供了用于自动代码生成的 CMake 函数 以在我的 CMakeLists 中使用 问题是 每当我修改 CMakeLists 时 该函数都会再次运行 从而触发新生成但未更改的源的重新编译 我需要像 add custo
  • 如何让 forEach 循环等待每个 Ajax 函数完成

    我有一个array语句 我想循环遍历每个语句并提交给server via an ajax称呼 我必须确保每一个ajax请求在发送下一个请求之前执行 因为server边代码 我正在创建一个unique key为了这array的声明 发生的情况
  • 使用 PDO 设置连接超时

    我正在使用 PDO 从 MySQL 服务器获取数据 我注意到的是 如果 MySQL 服务器不可用 则需要really 相对 很长时间这段代码返回异常 try handle new PDO db type host db host dbnam
  • 如何将 CMD shell 变量展开两次(递归)

    使用 Windows XP CMD 命令行 我可以将变量展开两次 如下所示 set AAA BBB set BBB CCC for F usebackq tokens i in echo AAA do echo i 会回声CCC I e A
  • 调用未定义函数 pcntl_fork() php-fpm nginx

    我正在尝试使用pcntl fork 在 php fpm 中 但它不可用 我得到 Call to undefined function pcntl fork 尽管我已经评论过了disable functions in the php ini
  • 为什么固定大小的缓冲区只能是原始类型?

    我们必须与本机代码进行大量互操作 在这种情况下 使用不需要封送处理的不安全结构要快得多 但是 当结构包含非基本类型的固定大小缓冲区时 我们无法执行此操作 为什么 C 编译器要求固定大小缓冲区只能是基本类型 为什么固定大小的缓冲区不能由如下结
  • word2vec gensim 多种语言

    这个问题完全超出了我的想象 我正在使用 gensim 训练 Word2Vec 模型 我提供了多种语言的数据 即英语和印地语 当我试图找到最接近 人 的词时 我得到的是 model wv most similar positive man O
  • 如何在asp.net中制作json网络服务?

    我是第一次制作网络服务 我需要在 C 中使用 json 来实现这一点 我不知道如何编写从数据库获取数据的方法的代码 任何建议 您可以使用以下代码返回 JSON 序列化字符串 WebMethod Description Your Descri
  • 如何将 Clojure memfn 与 Java 构造函数一起使用?

    我想使用 Java 构造函数作为一流的 Clojure 函数 我的用例是将字符串序列转换为具有单个字符串构造函数的 Java 对象序列 简单的Java对象 public class Foo public Foo String aString