タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

patternmatchに関するnobu666のブックマーク (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 の Extractor について調べる。 - 言語ゲーム

    私はパターンマッチ大好きです。PEG も好きだし、Haskell や Erlang のパターンマッチも好きだし、オブジェクト指向言語のメソッドディスパッチもパターンマッチみたいな物です。しかし最近自家製 lisp しか触っていなくて、何をするにも car と cdr で大変フラストレーションが溜まっています。そこでちょっと変わった所で Scala のパターンマッチについて調べてみました。 Scala の使い方 いつの間にか私の macports に scala が入っていたのでそれを使います。コマンドラインで scala と入力するとそのまま実行出来るみたいです。 $ scala scala> 3 + 4 res0: Int = 7同じ jvm 言語でも clojure と比べてかなりマッタリしてますが、repl が使えるだけ有り難いです。 プログラムを保存するには .scala という拡

    Scala の Extractor について調べる。 - 言語ゲーム
  • 1