Clojure:将Clojure文件转换为YAML
如何将clojure源文件转换为YAML?我已经在interactive REPL中使用了该库,但我想将其自动化,以便传入输入文件并指定输出,即:Clojure:将Clojure文件转换为YAML,clojure,yaml,Clojure,Yaml,如何将clojure源文件转换为YAML?我已经在interactive REPL中使用了该库,但我想将其自动化,以便传入输入文件并指定输出,即: clj2yaml input.clj > output.yml 您已经知道如何编写clojure转换器,现在只需要将其打包为一个独立的应用程序,并可能创建一个仅调用您的类的sh脚本 另一种选择是,如果您在*nix环境中: #^:shebang '[ exec java -cp "$HOME/src/clj/clojure/clojure.j
clj2yaml input.clj > output.yml
您已经知道如何编写clojure转换器,现在只需要将其打包为一个独立的应用程序,并可能创建一个仅调用您的类的sh脚本 另一种选择是,如果您在*nix环境中:
#^:shebang '[
exec java -cp "$HOME/src/clj/clojure/clojure.jar" clojure.lang.Script "$0" -- "$@"
]
(your code here)
据我所知,你需要帮助读写这些文件?!见和。有关读取YAML配置文件并使用clj YAML对其进行解析的真实示例,请参阅 下面是一个简单clojure工具的实现,用于进行转换:
(ns sample
(:require [clj-yaml.core :as yaml]))
(->> (slurp (nth *command-line-args* 0))
read-string ; converts the file content to a clojure datastructure
yaml/generate-string
(spit (nth *command-line-args* 1)))
(在Windows上)我可以创建一个名为clj2yaml.bat的批处理文件,使其易于使用。它假定所需的jar文件位于当前目录中。对于这种执行,我只是个新手,所以很可能会有更好的脚本,但这里是:
java.exe -cp .\clojure-1.2.0.jar;.\clojure-contrib-1.2.0.jar;.\clj-yaml-0.3.0-20101010.033133-1.jar;.\snakeyaml-1.5.jar clojure.main sample.clj %*
我现在可以执行
clj2yaml-foo.clj-foo.yaml
来创建yaml文件。我应该补充一点,当基本上粘贴字符串时,我可以在交互式REPL中转换它。我对clojure知识的缺乏限制了我如何使用clojure实际读取、转换和写出转换后的数据。感谢您的回复查看lein exec
插件;非常适合这个