2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Scala IDE の Scala Worksheet での日本語文字化けを解消する

Last updated at Posted at 2015-10-25

Windows 環境 Scala IDE の Worksheet で日本語を使うとそのままでは出力が文字化けする。

hello.sc
object hello {
  val s = "日本語でおk"                                //> s  : String = 譌・譛ャ隱槭〒縺奇ス�
  println(s)                                      //> 譌・譛ャ隱槭〒縺奇ス�
}

これを解消するには、eclipse.ini に以下の行を追記しデフォルトエンコードを UTF-8 に変更する

/path/to/eclipse/eclipse.ini
-Dfile.encoding=UTF-8

Scala IDE をリスタートすると文字化けが解消している

hello.sc
object hello {
  val s = "日本語でおk"                                //> s  : String = 日本語でおk
  println(s)                                      //> 日本語でおk
}

Windows で Scala IDE for Eclipse をインストールするとデフォルトエンコードが MS932 になるが、ワークスペースやプロジェクトのレベルで UTF-8 にしてやってもダメで、Eclipse 本体のレベルでこれを変更してやる必要がある。

上記で Eclipse 本体のデフォルトエンコーディングが変わった事は、Preference/General/Workspace の 「Text file encoding」の「Default」が UTF-8 になっていることで確認できる。

素の Eclipse にプラグインで Scala IDE をインストールしている場合も同様。
Pleiades で日本語を当てている環境ではまた状況が違うかもしれないけど、未検証。
Windows 環境以外では問題ないと思うが、もし文字化けしたら同様の対処で解決するはず。

Scala Worksheet について

Scala Worksheet は、 Scala IDE が拡張する実行形式で、Scala コード片を記述したWorksheet ファイルを更新(保存)すると、自動的にコンパイル・実行され、式の評価結果がコメントとして元ソースに挿入される

lesson_01.sc
object lesson_01 {
  1 + 1                                           //> res0: Int(2) = 2
  val l = List(1,2,3)                             //> l  : List[Int] = List(1, 2, 3)
  l.foreach(e => println(e))                      //> 1
                                                  //| 2
                                                  //| 3
}

IDE 上で REPL の代わりに使えるが、REPL と違って動くコードが残るので、ちょっとした文法の確認や、イデオムをメモしておくのに重宝する。
プロジェクトコードのデバッグやシナリオテスト、ツールスクリプトにも使えるかもしれない。
なにより Scala 言語の学習を始めたいならここからがベストだろう。

Worksheet を作成するには Scala パースペクティブの新規作成(New)で Scala Worksheet を選ぶ。
ファイルの拡張子は.scで、ソースディレクトリの外に保存しても実行できる。

素の Eciplse に Scala IDE を入れている場合、新規作成メニューに Scala Worksheet が出てこないかもしれない。
Scala Worksheet は Incubation 扱いのプラグインなので、インストール時に「Scala IDE plugins (incubation)」にある 「Scala Worksheet」にチェックを入れておく必要がある。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?