我克隆了最新版本的sbt's sources from the git repository并开始浏览Scala代码。我正在使用Eclipse(Kepler),Scala编译器似乎在util/collection/src/main/scala
中阻塞了几个文件。
例如,TypeFunctions.scala包含the trait ~>,其中有两种方法具有奇怪的名称∙
。
如果我对文件使用UTF-8编码,这个奇怪的字符只显示为单个符号。二进制编辑器将其显示为这3个十六进制值的序列:E2 88 99
有人可以解释一下吗?
答案 0 :(得分:0)
tl; dr 使用UTF-8作为来源或切换到IntelliJ IDEA。
我以前从未查看过这个文件,也没有发现它是一个问题。主要是因为我使用的IntelliJ IDEA默认使用UTF-8,final def
显示正常。
特征~>
在sbt publishLocal
时也可以正常构建,所以对于源文件而言,使用平台相关编码的Eclipse IDE似乎更多是源代码本身。
您的问题有一个更简单的答案 - 使用看似更好的IDE,即IntelliJ IDEA或将编码更改为UTF-8。
P.S。 Scala人喜欢为他们的val选择奇怪的名字,所以习惯它:)
答案 1 :(得分:0)
正如我今天终于发现的那样,我可以在Does the Scala compiler work with UTF-8 encoded source files?找到我的问题的答案。添加额外的Scala编译器命令行参数(如此处所述),并确保项目的文件使用UTF-8编码后,事情就开始起作用。