Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scalaの型クラスを完全に理解する

Avatar for Jun Tomioka Jun Tomioka
August 23, 2018

 Scalaの型クラスを完全に理解する

Avatar for Jun Tomioka

Jun Tomioka

August 23, 2018
Tweet

More Decks by Jun Tomioka

Other Decks in Technology

Transcript

  1. JsonEncoder 型クラスのイメージ • def toJson(value: ???): Json • こんなことができそう ◦

    toJson(1) ◦ toJson(“hoge”) ◦ toJson(User(userId = 1, name = “jooohn”))
  2. 5. 解決する課題の違い モチベーション 利用時の型 subtyping 複数の型のインスタン スを、抽象型として扱い たい。 abstract: val

    strategy: Strategy = SimpleStrategy type classes 任意の型に関して行う 共通処理を提供した い。 concrete: toJson(1: Long)
  3. 5. 解決する課題の違い 0, 100, -50 Int JsonEncoder データ 型 型クラス

    インスタンス インスタンス クラス クラス subtyping