タグ

caseとScalaに関するkarahiyoのブックマーク (2)

  • パターンマッチをもっと便利に - extractor(抽出子)による拡張 - ( ꒪⌓꒪) ゆるよろ日記

    パターンマッチは便利すぎてこれを覚えてしまうと他の言語でも欲しくてたまらなくなりますね。 Scalaのパターンマッチは、実はユーザーが独自のパターンを定義することが可能になっています。 extractor(抽出子)によるパターンの拡張 簡単な例を紹介します。java.util.Date型のオブジェクトを年月日に分解してパターンマッチさせたい、とします。こんな利用イメージです。 scala> new Date match { | case DateOf( y,m,d ) => println( "%d年%02d月%02d日" format( y,m,d ) ) | case _ => | } 2010年07月09日 "case DateOf( y,m,d) => ..."の部分で、Date型を年月日に分解しているわけです。ふつーにやろうとすると、DateOfというケースクラスを作ってimpl

    パターンマッチをもっと便利に - extractor(抽出子)による拡張 - ( ꒪⌓꒪) ゆるよろ日記
  • scalaのcase class - scalaとか・・・

    scala | 03:36 | | scalaのcase classを使うと、なんと、Javaの200倍生産性が上がります!!!その理由について・・・ 釣りで200倍とか書いてみましたがww一応(ある基準で測った場合)嘘ではありません。case classって何に使うの?っていうと、パターンマッチだったり、いろいろあるわけですが・・・(´・ω・`)いつどういうふうに使うべきなのか?という視点からの解説はしません。case classなんて、結局は誰がなんと言おうと、単なるclassです。Javaからでも、ものすごく普通のクラスとしてつかえます。個人的には、classの前にcaseってキーワード付けると、色々便利なメソッドを、scalaのコンパイラさんが、勝手に定義してくれるよ、っていう捉え方でもいいと思います。その便利なメソッド達を解説していこうと思います。まずは、サンプルのためのわざとら

  • 1