是否有类似struct-map的记录?如果不是,我应该使用结构吗(文档不鼓励使用结构)?
也许我完全做错了事?我有一个相当复杂的功能,目前需要一张选项图。我试图澄清哪些选项值是可接受/使用的(通过用记录替换它)。现在我想将它连接到在地图中具有此信息的代码(并且其中包含记录中数据的超集)。
是否有类似struct-map的记录?如果不是,我应该使用结构吗(文档不鼓励使用结构)?
也许我完全做错了事?我有一个相当复杂的功能,目前需要一张选项图。我试图澄清哪些选项值是可接受/使用的(通过用记录替换它)。现在我想将它连接到在地图中具有此信息的代码(并且其中包含记录中数据的超集)。
不建议仅将记录用于“文档”——普通的旧地图更灵活、更简单、更容易。对于文档,您可以只添加一个文档字符串或注释,或者创建一个类似(defn make-whatever [thing1 thing2])
.
如果您仍然想要记录,您有几个选择,具体取决于您使用的是 clojure 版本 1.3 还是更高版本。如果是这样,(defrecord Whatever ...)
还定义了一个map->Whatever
函数,以及一个->Whatever
接受位置参数的函数。如果没有,您可以编写(into (Whatever. nil nil nil) some-map)
(为记录类型传递正确数量的 nil)。