コメントを入れただけなのにコンパイルエラーとなった
何が起きたの?
とあるコンパイルが通るScalaプログラムに、コメントを入れてコンパイルし直したらコンパイルが通らなくなった。
具体例
コメントなし
これはコンパイルできる。
object HelloWorld { def greeting { println("HelloWorld") } }
scala> :load ./HelloWorld.scala Loading ./HelloWorld.scala... defined module HelloWorld scala> HelloWorld.greeting HelloWorld
コメントあり
コメントを入れただけなのにコンパイルエラーとなった。
object HelloWorld { def greeting { println("HelloWorld") // し } }
scala> :load ./HelloWorld.scala Loading ./HelloWorld.scala... <script>:4: error: Missing closing brace `}' assumed here } ^
調べてみたら
ちなみにmac環境にて日本語を文字化けさせずに実行するには
export JAVA_OPTS="-Dfile.encoding=UTF-8"
が必要っぽい。
Hello! Scala!!|Happy Tuning
エンコーディングの問題みたいですね。
対策と結果
環境変数を設定して、再度試みると問題なくコンパイルできた。
% export JAVA_OPTS="-Dfile.encoding=UTF-8" % scala Welcome to Scala version 2.8.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_22). Type in expressions to have them evaluated. Type :help for more information. scala> :load ./HelloWorld.scala Loading ./HelloWorld.scala... defined module HelloWorld scala> HelloWorld.greeting HelloWorld