Hello Scala!初心者向け簡易Scala解説

こんにちは、株式会社ハシゴでインターンをしている福岡大学の大坪と申します。インターンブログを書く機会を頂いたので勉強したことなどを書かせてもらいたいと思います!

今回はScalaについて。2ヶ月前に初めて知ったScalaという言語を自分が触ってきて感じた事を「HelloWorld」と「足し算」を例にざっくり書きたいと思います。

scala

 

まずはこのScalaで書かれたHelloWorldを見てください。

 

[scala] object HelloWorld {
def main(args: Array[String]): Unit = {
printf(“Hello World!n")
}
}
[/scala]

 

objectって何やねん!defって何だ!Unitって何?

と次から次に疑問が湧いてきます…

 

調べてみると、 「object HelloWorld」ではシングルトンオブジェクト「HelloWorld」を宣言し 、「def」でmain関数を宣言している。Unitとは返す値がないことを意味しており、これはJavaなどでいうvoidの代わりのようなものらしい。

 

なるほど、なんとなく理解(・_・;

 

 

次に簡単な足し算プログラム。

 

[scala] object Addition {
def main(args: Array[String]): Unit = {
val a : Int = 1 + 2 // (1)
val b = 1 + 2 // (2)

var c = 1 + 2 // (3)
c = c + 3

println(a)
println(b)
println(c)
}
}
[/scala]

 

この出力結果は「a,bが3」「cが6になる」 というのは見当がつくかと思います。

因みに定数はval, 変数はvarで宣言します。 具体的には「val 変数名 : 型名」といった具合です。

そんなわけで一つずつ見ていくこと・・・

⑴は大丈夫だと思います。

⑵ではInt型の宣言が省略されていますね。ここでは計算結果が型推論によって自動的にInt型であると認識されます。これはすごい!

⑶では変数cを宣言しています。「変数」ですので、新たに値を代入することができます。

 

どうでしょう!最初はあまり意識しませんでしたが、この型推論がScalaを使っていく上で重要なキーポイントになっていると今は感じています。

 

最後に、プログラムに一切セミコロン「;」がないことに気がついたでしょうか。なんとScalaではセミコロンがいらないらしいのです!(付けても問題はないようですが…)

セミコロンがないことは初めは違和感を感じましたが、慣れてくるとこれがなかなか便利なことに気付きました。

 

まだまだScalaについてのトピックはありますが、長くなりそうなので今回はこの辺で。 私自身、まだまだ把握・理解できていない部分が多いですが、理解できればめちゃ楽しい言語間違いなしだと思うので頑張ります。

周りにいる技術者も口をそろえて言います。「Scalaは熱い」。

というわけでScalaをやったことがないという方がいらっしゃいましたら是非やってみてください! おすすめです!

 

それではまた!