Scala スケーラブルプログラミング(第2章) -- 今日の Scala コード

[ステップ3] 関数を定義する


def max(x: Int, y: Int: Int = {
if(x > y) x
else y
}

定義した関数を呼び出す


max(3, 5)

関数の結果型を省略できる。


def max(x: Int, y:Int) = if (x > y) x else y

しかし、型アノテーションを明示することで可読性が高くなるのでこの記述は使わないことにする。

パラメータなし、戻り値なしの関数定義


scala> def greet() = println("Hello, world!")
greet: ()Unit

Unit とは java での void に似ており、 実際に void は Unit にマッピングされる。
Unit は副作用(side effect) のためにのみ実行される。
「戻り値がある場合は、結果+副作用だけど、Unit は、、」という意味だと解釈。