评论者:mars0i
我在使用.clj文件中的读取器条件时遇到了问题。如果不是因为Daniel Compton的博客文章,我对如何修复这个错误一无所知。我理解这不仅仅是一个文件名问题,还存在其他可能引发此错误的原因,但当这是文件名问题时,它非常神秘,这看起来像是一个很容易犯的错误。一个相关的上下文是,Clojurescript宏可以在.clj文件中定义,因此使用这个扩展名作为宏编译时间的提醒似乎是自然的。
我认为“读取器条件不允许...”比“条件读取不允许”更容易理解。这至少会显而易见地表明是读取器条件导致的问题。一旦你知道“条件读取”指的是什么,那就很明显了,但“条件读取”并不是在Clojure领域中常见的短语,从我了解的情况来看,我纳闷为什么不直接说“读取器条件”如果这条信息是关于这个的。
(可以添加一条注释到错误字符串中,说明原因可能是使用了在 .cljc 文件之外的条件读取器。不确定是否希望在错误消息中使用“可能是”/“也许”这样的表达,因为这可能会导致错误消息过长。然而,这种情况在其他地方已经出现过,并且在这种情况下可能非常有用;错误使用 .clj 与条件读取器的情况看起来可能会经常发生。)