2017年5月21日のブックマーク (1件)

  • Scalaで型クラスを使おう! - Qiita

    はじめに 某記事で、 implicitsなんて呼ばないで、各機能ごとに適切な名称で呼ぼう。あと、重要なのは型クラスだからそれだけ注意すればOK、という趣旨のことを書きましたが、どうやって使えばいいかは投げっぱなしだったのでその導入編だけでも書こうかと思います。この記事での目的は簡単で、 Scalaのコレクションのsumメソッド(とproductメソッド)を自作の有理数クラスに適用できるようにしよう ということになります。実際のところ、sumメソッドを整数リストに対して呼び出す、たとえば でも、型クラスを「使って」はいるのですが、実際に型クラスに新しいインスタンスを追加していないので、使った実感がわかないと思います。そこで、有理数クラスです。実装が比較的簡単である上に、四則演算への対応が容易という点でこれを選ぶことにしました。 まずは、有理数クラス(Rational)の実装です。ここは、

    Scalaで型クラスを使おう! - Qiita
    den8
    den8 2017/05/21
    “実は、ScalaのNumericは反面教師にすべき型クラス設計で、一つの型に色々な演算を詰め込みすぎています。” だよなあ。scalazで紹介されている型クラスとか実装するメソッドはほとんど1,2個だし。