Ho giocato in giro con HList e le seguenti opere come previsto:Ottenere elementi da un HList
val hl = 1 :: "foo" :: HNil
val i: Int = hl(_0)
val s: String = hl(_1)
Tuttavia, non posso ottenere il seguente pezzo di codice di lavoro (supponiamo per un momento ad accesso casuale su liste è un'idea intelligente ;-)):
class Container(hl: HList) {
def get(n: Nat) = hl(n)
}
val container = new Container(1 :: "foo" :: HNil)
val i: Int = container.get(_0)
val s: String = container.get(_1)
mi piacerebbe avere get
restituire un Int
e String
in base ad esso del parametro. Presumo, se possibile, che devo usare Aux
o at
ma non sono sicuro di come farlo.
Grande! Grazie per la tua biblioteca! – user3127060