使用标签向量和表单创建地图
Create a map out of vector of tags and a form
我想用这段代码写一个通用版本
(fn[item]
{:tag1 ($x:text "./tag1" item)
:tag2 ($x:text "./tag2" item)})
我正在考虑使用 zipmap,因为我会使用标签向量,就像这样
[:tag1 :tag2],
但不知道如何制作表格的通用版本
($x:text "./tag1" item)
对于向量中的任何给定项目。
有什么想法吗?
这可以通过 zipmap
实现,方法是两次使用同一个集合:
(fn [item]
(let [tags [:tag1 :tag2]]
(zipmap tags
(map (fn [tag]
($x:text (str "./" (name tag)) item))
tags))))
但我认为使用 into
:
实际上更清楚
(fn [item]
(into {}
(map (fn [tag]
[tag ($x:text (str "./" (name tag)) item)])
[:tag1 :tag2])))
我想用这段代码写一个通用版本
(fn[item]
{:tag1 ($x:text "./tag1" item)
:tag2 ($x:text "./tag2" item)})
我正在考虑使用 zipmap,因为我会使用标签向量,就像这样
[:tag1 :tag2],
但不知道如何制作表格的通用版本
($x:text "./tag1" item)
对于向量中的任何给定项目。
有什么想法吗?
这可以通过 zipmap
实现,方法是两次使用同一个集合:
(fn [item]
(let [tags [:tag1 :tag2]]
(zipmap tags
(map (fn [tag]
($x:text (str "./" (name tag)) item))
tags))))
但我认为使用 into
:
(fn [item]
(into {}
(map (fn [tag]
[tag ($x:text (str "./" (name tag)) item)])
[:tag1 :tag2])))