scala

matchで型判定がおかしいのはコンパイルのせいで、型タグで解決する

match が意図した挙動にならない 突然ですが下記プログラムの実行結果は何になるでしょうか? case class Robot() val robo = new Robot robo match { case _: Robot => println("Robot!") case l: List[String] => println(s"List String! $l") case l: Lis…

scala: unapplyを覚えたのでリファクタリングしてみる

match caseが読みにくいぞ やりたいことは、「プレミアムユーザか否か、と年齢によって処理を分ける」です。 case class Userを用いて書かれた下記コードがあるとします。 package advanced.functional case class User( userId: Long, premium: Boolean, ag…