【发布时间】:2016-10-26 12:28:04
【问题描述】:
我正在使用 clojure 的读取字符串读取 clojure 源代码文件。 然而,单行 cmets 自然会被读者忽略。当我生成新的源代码时,那些 cmets 已经不存在了。
有什么方法可以保存这些 cmets 吗?
【问题讨论】:
-
您能否添加更多关于您具体在做什么以及为什么您的任务需要使用代码解析和生成的详细信息?
-
源代码中有很多文件,大约 100 个是使用某个库编写的,我们正在转向替代方案。我已经完成了大部分所需的自动化。我阅读表单修改并生成新表单。
-
但是即使忽略cmets的问题,你会不会仍然丢失很多关于原始源代码实际结构的信息?格式化是一个例子,但试试这个:
(map (comp pr-str read-string) ["2r101010" "::rect" "{:a 1 :b 2}" "#{:a :b :c}" "'form" "\\u03A9" "@form" "^{:a 1 :b 2} [1 2 3]" "#'x" "#()" "`(fred x ~x lst ~@lst 7 8 :nine)'"]) -
我们正在管理漂亮的印刷品。从 Midje 迁移到 clojure 测试。
-
pprint仍然不起作用:(run! (comp clojure.pprint/pprint read-string) ["2r101010" "::rect" "{:a 1 :b 2}" "#{:a :b :c}" "\\u03A9" "^{:a 1 :b 2} [1 2 3]" "#()" "`(fred x ~x lst ~@lst 7 8 :nine)"])