戻り値で指定されるUnit
object HelloWorld {
def main(args: Array[String]): Unit {
println("Hello, World")
}
}
関数型言語の「関数」ってのは、数学的な関数のことを意味します。C言語とかの関数(Javaで言うメソッド)とは別物と考えた方がわかりやすいです。
数学的な関数とは?
数学的な関数とは、必ず値が返ってくる式のことです。たとえば1 + 1は2です。2という値が返ってきます。しかしC言語やJavaの場合、引数に1と1を渡しても、ただ出力するだけに使われると戻り値はありません。voidとなりますよね。
数学的な関数は「必ず戻り値がある」のです。
じゃあUnitってなによ。
Scalaはオブジェクト指向もとりいれたユニークな言語。
純粋な関数型言語ならば「戻り値がない」はありえないのですが、voidがないとプログラムを実装していくには不便です。そこでUnitという「戻り値がない」ことを意味する戻り値を作ったわけです。
めでたし、めでたし。