[[SCALAの記事一覧]] *目次 [#o599e2ad] #contents *とにかくデフォルトの文字コードをUTF-8にしておこう [#rc5ca447] さもないと下記のエラーが出る IO error while decoding Prototype.scala with UTF-8 *Eclipseプラグインのいいところ [#ybaed5ca] -プログラムを書いている時に構文エラーを出してくれるので間違いにすぐ気がつける -Ctrl+クリックで参照元にジャンプしてコードを追える -ブレークポイントを設定できる -逆アセンブラの設定をしておけば、ソースコードを参照することができる。 -クラスパスの設定がコマンドラインからの実行に比べて楽 *Eclipseプラグインの不具合点 [#u7dc4663] Mainモジュールを書いているのにMainモジュールがないとかいう。 def main(args: Array[String]): Unit = { } 右側のアウトラインになんらかのタイミングで認識されないと動かない。 -Scalaの文法に沿っているのに、コンパイルエラーを出したり、 -Scalaの文法に沿っていないのに、コンパイルエラーを出さなかったりする。 -Scalaでパッケージ名を書くには{ }でコード全体をくくる必要があるようだからだ。 困るのは、文法的に間違っていないのに、エラーを出して、コンパイルが実行できない場合に困る パッケージの移動をする際、1ファイル1クラスを原則としているらしく、他の必要なコードを削除していまうので、 1ファイル内にいくつものobjectやclassなどの記述がある場合は、パッケージ間の移動はファイルの移動ではなく、ファイルの作成、内容のコピペで行う必要があります。 *EclipseからJarファイルの作成はうまくいかない。 [#i7040c16] Eclipseで作成したScalaのJarファイルをScalaでインポートさせようとしたら挙動がちがう -時々 つくられていないクラスがあるのだ。もう少し、細かくいうと --EclipseのExport機能でPrototype.scalaのコンパイルをしたとしよう コンパイル結果 Prototype$.class $マークが余計です。 これで動作させようとするならば、import Prototype._ ではだめで import Prototype$._ と書かなくちゃならない。 コマンドラインからScalaccでコンパイルしてZIPにあっしゅくしてからリネームしてJarファイルを作成したらうまく動作した。 方法を下記に示します。 *ScalaのJarファイルの作成 [#t7a3d1b2] まず、コンパイルします。 たとえばパッケージ名がprototypeだとしましょう。 そうすると、コンパイル後にはフォルダprototypeができています。 このフォルダをZIPで圧縮します。 圧縮後のファイル名がprototype.zipだったとしたならば、拡張子をzipからjarにリネームしてやります。 以上でjarファイルを作成することができます。 **私が自作したscalacc.batをつかってコンパイルする場合 [#hf792927] batファイル内で指定したフォルダに追加してやるだけで大丈夫です。 *実行方法 [#xab515a1] jarファイルが登録されているのであれば、 私が自作したscalaa.batをつかって実行すると指定のjarファイルをすべて読み込んでくれます。 登録されていない場合はコンパイルしたあとに作成されたフォルダを実行パスに放り込んでやれば大丈夫です。