Statistical Programming

簡潔な記述のScala

ScalaJavaと比べてもいろいろな部分で簡潔です。その最たるものが型推論ではないでしょうか。

 • 型推論JavaではたとえばScannerクラスのインスタンスを作成し変数に入れる場合以下のように型を明示しなければなりませんでした。

Scanner sc=new Scanner(System.in)

ですがScalaでは変数の型を明示しなくてもよほど複雑な型でないかぎり推測してくれるのでスクリプト言語のように書くことが出来ます。 

var sc=new Scanner(System.in)

またその他にも記述を簡潔にする工夫が至る所にちりばめられています。

• 文の終わりに「;」が不要。文の終わりを自動で推測してくれます。

• 定数の扱いに必要だったfinal修飾子はなく、代わりに「val」を使用することで再度代入不可な変数を簡単に作成。

val list=List(1,2,3)

• 基本コンストラクタを作成するのは単純にクラスの頭で引数を指定し、処理は内部で記述

class Const (varid:Int,varname:String="Who are you?"){

  

validandname=id+":"+name

 

def printvalue()={

  println(idandname)

}

 

このように、わざわざ明示的にコンストラクタを記述する必要はありません.また、setter, getterも設定する必要がなくScalaが勝手にしてくれます。Javaではコンストラクタをprivateにして〜setterメソッドつくって〜などなど数が多くなるとめんどくなる(僕みたいなめんどくさがりやに取っては数個ですでにめんどくさ〜い!)のですがそれがなくなり、単純にフィールドにアクセスするだけでいいのです!!などなど、ScalaJavaよりも簡潔に記述をすることができる素敵な言語なのです。