プログラミング言語 Scala 8冊目
■ このスレッドは過去ログ倉庫に格納されています
0258デフォルトの名無しさん
2012/08/10(金) 02:05:45.31implicit parameterの略記法
一番典型的なのがManifestかな
def hoge[A](a: A)(implicit m: Manifest[A]) = manifest[A]
def hoge[A: Manifest](a: A) = manifest[A]
この二つが同じ意味
型クラス的な使い方でもよく出る
上記のFunctorが既に定義されているとして
def myMap[F[_]: Functor, A, B](a: F[A])(f: A => B) = implicitly[Functor[F]].map(a)(f)
こう書くと
scala> myMap(List(1,2,3))(2*)
res13: List[Int] = List(2, 4, 6)
こんな感じで動く
そして自分で書いて思ったけど、型クラスってやっぱり駄目だな
こんなの覚える必要ないわ
型クラスもContext Boundもみんな忘れよう
■ このスレッドは過去ログ倉庫に格納されています