第5回名古屋Scala

3/19に、第5回名古屋Scala勉強会に参加してきました。

今回は継承とかトレイトとか。


ScalaのforはOption型でも使えて、Haskellのdoみたいに使えるなーとかいう話題があった。

scala> val x = Some(3)
x: Some[Int] = Some(3)

scala> for (i <- x) yield (i + 1)
res2: Option[Int] = Some(4)

scala> val x:Option[Int] = None
x: Option[Int] = None

scala> for (i <- x) yield (i + 1)
res3: Option[Int] = None


普通のやつを「バニラ」って呼んだりする。
「vanilla」には、「バニラ味の」以外に、「定番の、標準的な、ありきたりな」という意味があったり。


関数リテラルの中で return を使うと・・・・

scala> def f1():Int = 1 to 10 reduceLeft((a,b) => b)
f1: ()Int

scala> f1
res0: Int = 10

scala> def f2():Int = 1 to 10 reduceLeft((a,b) => return b)
f2: ()Int

scala> f2
res1: Int = 2

リテラルで書いてる関数からじゃなくて、ひとつ上の関数からreturnするみたい。


次回はパッケージと、テスティングフレームワークと、caseクラス+パターンマッチの豪華三本立て。


懇親会では、周りの方に仕事の話を聞いたり、隣にいた id:WK6 と就活の話をするなど。
id:bleis-tift宅に泊めてもらって、次の日の東海アンカンファレンスへ。
bleis宅では珍しく(?)深夜勉強会はなく、結構すぐ寝た。