我正在读取文件中的数据,其中每行有两个值.每一行由表示文件的外部序列内的序列表示.
我想将数据重组为一系列地图以供进一步处理.
我知道如何从键集和值序列创建映射:
=> (defstruct entry :name :age)
=> (apply struct entry '("John" 34))
{:name "John", :age 34}
Run Code Online (Sandbox Code Playgroud)
但是,如何根据一系列值序列创建一系列此类地图?
(map (apply struct entry) '(("John" 34) ("Lisa" 41))))
Run Code Online (Sandbox Code Playgroud)
结果是:
java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.PersistentStructMap$Def
Run Code Online (Sandbox Code Playgroud)
编辑:为了清晰起见重命名符号.
结构已经过时,首选是使用记录.
(defrecord Person [name age])
(map (partial apply ->Person) '(("John" 34) ("Lisa" 41)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71 次 |
| 最近记录: |