Scala mainメソッド定義とコンパイル
環境 Scala 2.11.6 CentOS7.0
「Scalaスケーラブルプログラミング」(コップ本)メモ
読了:第04章まで
■ main定義とコンパイル
mainメソッドの定義
アプリケーションのエントリーポイント、Javaでいうmainメソッドの定義。
// Something.scala import Anything.one object Something { def main(args: Array[String]): Unit { println(one(2)) } }
と定義する。Anythingは前の記事で使ったもの。参考までに以下のような簡単なもの。
// Anything.scala class Anything { } object Anything { def one(i: Int): Int = { val ar = Array(1, 2, 3) ar(i) } }
注意する点は
- 引数は必ず
args: Array[String]
である - 結果型は必ず
Unit
である - クラスではなくシングルトンオブジェクトで定義する
コンパイル
作成したアプリケーションのコンパイル方法。
scalac Anything.scala Something.scala
もしくは
fsc Anything.scala Something.scala
で行う。
scalac
は
1. jarファイルをスキャンするなど初期作業を実行
2. コンパイル
fsc
は
1. 初期作業をおこない、ローカルサーバーデーモンを実行
2. コンパイル
という流れになり、scalac
は1,2を毎回行うのに対し、fsc
は1を初回しか行わないため、より早くコンパイルが可能。
アプリケーションの実行
コンパイルファイルの実行方法。
scala Something
3
とすることでmain
関数が実行される