如何将一个.edn文件的内容作为另一个.edn文件的子集包含进来?
更具体地说,extensable data notation (EDN)有没有办法通过类似于XML中的"include path“元素的路径来”包含“文件。
我有一个相当大的XML格式的快捷键绑定项目,通过将每个部分分成文件,可以很容易地跳转到a parent file made up "include path" elements并在其中进行操作,从而使其更易于导航,并且不那么笨拙。这允许通过注释一行来关闭/打开代码的离散部分,并允许我通过向上或向下冒泡一行来更改序列。从那以后,这个项目已经从XML迁移到EDN format i,我在使用one enormous .edn file时感到很沮丧。我在缩排、代码折叠、书签上花了很多时间……但这就像是试图阅读一本印在长长的羊皮纸上的书。
值得一提的是,程序(Goku)使用.edn文件来生成更庞大、更笨重的JSON文件。不知道这是否对最佳解决方案有任何影响。谢谢。
Old XML "parent" file with "include path" elements
我查找了“包含EDN格式的文件”,但这可能真的是一个Clojure问题。我不是一个真正有经验的程序员,所以我不确定是否真的应该查看Clojure文档,因为据我所知,edn是Clojure语言的一个子集
有关代码https://imgur.com/gallery/apjmtWf,请参阅图片
理想情况下,我希望有一个由“包含”我的许多较小文件组成的主父文件,以便更容易导航。
发布于 2019-02-06 22:30:25
XML不包含任何内容。这只是数据而已。在XSL等XML处理程序运行时,会发生包含。
这正是EDN的情况。如果想要包含,只需说一些类似[:include "this file also"]的内容,然后遍历数据结构并用实际数据替换所有包含。
发布于 2019-02-07 17:38:06
您可能会发现JUXT中的aero库很有用。它添加了一些自定义标记文字,以便于使用EDN文件进行配置。其中之一就是#include,听起来它正好满足了您的需求。
https://stackoverflow.com/questions/54554941
复制相似问题