エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
多相な関数の定義から学ぶ、型クラスデザインパターン
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
多相な関数の定義から学ぶ、型クラスデザインパターン
201607.md #多相な関数の定義から学ぶ、型クラスデザインパターン twitter: @OE_uia github: taisukeoe ... 201607.md #多相な関数の定義から学ぶ、型クラスデザインパターン twitter: @OE_uia github: taisukeoe ##多相な関数 複数の異なる型に対して適用可能な関数 どの型に対して定義されているか、静的に決定できる(定義されてない型の値を渡すとコンパイルエラーになる) Int => Int String => String Double => String Seq[Int] => Seq[Int] ##多相な関数のメリット 複数の異なる型に対する操作を一般化したまま変換,合成などを行える DSLの構築 Heterogeneousなコレクションを簡便に操作できる #一番単純な出発点としての、メソッドの引数オーバーロード def overlap(i:Int):Int = i*i def overlap(s:String):String = s.foldLeft(