如何将Clojure源文件转换为YAML格式?我已经在交互式REPL中使用了clj-yaml库来完成它,但我想自动化这个过程,这样我就可以传入一个输入文件并指定输出文件,例如:
clj2yaml input.clj > output.yml
(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文件。#^:shebang '[
exec java -cp "$HOME/src/clj/clojure/clojure.jar" clojure.lang.Script "$0" -- "$@"
]
(your code here)
lein-exec
插件;它非常适合这个 https://github.com/kumarshantanu/lein-exec。 - zach