3
Ich versuche, einfache Klassenmuster zu implementieren. Es wird angenommen, dass es ähnlich wie die Typklassen von scalaz funktioniert. Leider kann ich es nicht zur Arbeit bringen. Ich habe Str
Scala Typeclasses
trait Str[T] {
def str(t: T): String
}
object Str {
def apply[T](implicit instance: Str[T]) : Str[T] = instance
}
Und in meiner und impliziten Instanz davon trait.
object Temp extends App {
implicit val intStr = new Str[Int] {
def str(i: Int) = i.toString
}
1.str //error: value str is not a member of Int
}
Ich würde jede Einsicht schätzen.
Sollte es nicht sein 'Str (1) .str'? Du hast keine 'implizite Klasse' definiert, nur ein' Objekt' mit 'apply'. –