如何操作记录?
我在哪里可以找到一些例子?
我想对记录进行序列化。
例如:
(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/