由 mars0i 发表的评论:
我在使用.clj文件中的读取器条件时遇到了问题。如果不是 Danial Compton 关于该问题的博客文章,我就不知道应该如何修复这个错误。我明白这不仅仅是文件名问题,而且还有其他可能导致此错误的原因,但是当是文件名问题时,它非常神秘,这看起来像是一个容易犯的错误。一个相关的背景是,Clojurescript 宏可以在.clj文件中定义,所以使用这个扩展名作为宏编译的提醒是很自然的。
我认为“读取器条件不允许 ...”这样的信息比“条件读取不允许”更容易理解。这至少会让问题明显,即问题是由于读取器条件引起的。一旦你了解了“条件读取”的含义,这一切都很显然,但“条件读取”在 Clojure 世界中不是一个常见的短语,据我所知,我很好奇为什么信息中没有说“读取器条件”,如果这条消息正是关于这个内容的。
(一种选择是在错误字符串中添加注释,说明问题可能是由在 .cljc 文件外部使用的读取条件引起的。不确定你是否想在错误信息中使用“可能”、“也许”这类词汇,因为这可能导致错误信息过长,难以控制。然而,这类做法在其他地方已有所应用,并且在这种情况下可能非常有用;错误地使用 .clj 与读取条件似乎是一个经常发生的问题。)