エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Scala for = Haskell do (Java の例外を Either で包んだ後の話し) が少し好評だったので、調子に乗って... Scala for = Haskell do (Java の例外を Either で包んだ後の話し) が少し好評だったので、調子に乗ってちょいネタ。 for 構文を使うと match case のネストを避けられるけれど、じゃー、下記のように書けるのかと言うと… for { a <- Some(1) b <- Right(2).right } yield a "type mismatch" と怒られるハズです。何故か? 上記を map と flatMap を使った形式に変換すると下記のようになります。*1 Some(1).flatMap(a => Right(2).right.map(b => a)) Option の flatMap の型は下記の通りであり… def flatMap [B] (f: (A) ⇒ Option[B]) : Option[B] Option[B] が求められて