gpt4 book ai didi

clojure - 尝试在 Clojure 中映射 parseInt 时出现奇怪的错误

转载 作者:行者123 更新时间:2023-12-03 23:27:04 26 4
gpt4 key购买 nike

我在学习 Clojure我有一个疑问:

为什么我打字的时候

(map vector '("1" "2" "3"))

我收到 (["1"] ["2"] ["3"])
没关系,因为 vector是一个函数(或者几乎我认为是),我可以做到 (vector "3")并获得 ["3"] .

到目前为止一切顺利,但是当我尝试
(map Integer/parseInt '("1" "2" "3"))

我收到一个错误。不应该 parseInt表现得像一个函数?

然后我需要输入
(map #(Integer/parseInt %) '(......

为什么我不能使用 parseInt像一个函数?对我来说这是一个函数,我可以像这样使用它
(Integer/parseInt "3")

我觉得有点语无伦次,但我确定我犯了一些错误,为此我问它......

最佳答案

你必须用 #() 包裹它或 (fn ...) .这是因为 Integer/parseInt 是一个 Java 方法并且 Java 方法不能被传递。他们没有实现 IFn界面。

Clojure 基于 Java 构建,有时会泄漏,这就是其中一种情况。

关于clojure - 尝试在 Clojure 中映射 parseInt 时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6196719/

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