【发布时间】:2014-07-04 18:33:28
【问题描述】:
我是 Clojure 的新手,玩它是为了好玩。
我正在读取一个 CSV 文件并希望对每一列应用不同的函数。什么是优雅(简洁易读)的方式来做到这一点? 我探索了两种方法:
- 处理行向量:
对于每一行...
(def row-1 ["John", "24"])
...我想对每个元素应用不同的函数,并得到这个结果:
["John", 24]
我要使用的功能是:
(def converters-1 [identity, read-string])
有没有一种简单的方法可以将converters-1 函数应用于row-1 元素?
- 在地图上工作:
使用这种方法,我首先将每一行变成一个地图:
(def row-2 {:name "John", :age "24"})
编辑:我想获得这张地图:
{:name "John", :age 24}
转换器也存储在地图中:
(def converters-2 {:name identity, :age read-string})
有没有一种简单的方法可以将正确的转换器应用于row-2 元素?
我将有兴趣阅读这两种方法的解决方案。
最后我会将数据放入地图中。我只是不确定是否要在获取此地图之前或之后进行转换。
【问题讨论】: