Ich habe eine abstrakte Klasse mit einer Methode, die einen HLists als Parameter erhält (A). jedoch in den Unterklassen würde Ich mag die genauen Typen dieser hList (B)Shapeless HList Parameterüberschreibung
Der folgende Code funktioniert nicht beschränken (es ist nicht (Int :: String :: HNil)
als Unterklasse von HList
sieht. Aber wie kann ein erreichen ähnliche Wirkung?
import shapeless.{::, HList, HNil}
import shapeless.syntax.std.tuple._
abstract class A{
def test[H <: HList](h: H): String
}
class B extends A {
override def test(h: (Int :: String :: HNil)): String = {
val a = h(0)
val b = h(1)
s"$a -- $b"
}
}
new B().test(25 :: "testje" :: HNil)