gpt4 book ai didi

clojure - 在映射函数中使用互操作构造函数(Clojure)

转载 作者:行者123 更新时间:2023-12-01 04:38:28 27 4
gpt4 key购买 nike

我在将 Integer 构造函数传递给 map 函数时收到此投诉:

=> (map Integer. ["1" "2" "3"])
CompilerException java.lang.ClassNotFoundException: Integer., compiling:(NO_SOURCE_PATH:1:1)

然而,当我将构造函数包装在一个函数中时,一切正常:

=> (defn str-to-int [str] (Integer. str))
=> (map str-to-int ["1" "2" "3"])
(1 2 3)

为什么我必须将 Integer 包装在另一个函数中才能使其工作?有没有更好的方法让它在不创建额外功能的情况下工作?

最佳答案

map 接受一个函数,interop 使用一个特殊的形式,比如 new 。和 ..用匿名函数文字包装它们相当容易

例如

(map #(Integer. %) ["1" "2" "3"])

产生期望的结果。

关于clojure - 在映射函数中使用互操作构造函数(Clojure),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22058522/

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