gpt4 book ai didi

clojure - 如何操作记录?

转载 作者:行者123 更新时间:2023-12-05 00:35:00 27 4
gpt4 key购买 nike

如何操作记录?

我在哪里可以找到一些例子?

我想对记录进行序列化。
例如:

(defrecord Point [x y])

如何从'[[1 2] [3 4] [5 6]]'制作一系列点?

如果数据存储在文件中:
1 2
3 4
5 6

如何将这些读入记录?
(with-open [rdr (clojure.java.io/reader file)]
(doall (? (line-seq rdr))))))

谢谢!

最佳答案

Clojure 的 defrecord为定义的类型生成一些辅助函数。它们的目的是使该类型的构造函数成为一流的 Clojure 公民。特别是defrecord Point生成 map->Point这需要一张 map 和(这可能是您需要的)->Point这需要位置参数。所以这:

(defrecord Point [x y])
(map (partial apply ->Point) [[1 2] [3 4]])

产生这个:
(#user.Point{:x 1, :y 2} #user.Point{:x 3, :y 4})

关于clojure - 如何操作记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9988856/

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