ich mit hList um geliebäugelt und die folgenden Arbeiten wie erwartet:Erste Elemente aus einem hList
val hl = 1 :: "foo" :: HNil
val i: Int = hl(_0)
val s: String = hl(_1)
Allerdings kann ich nicht das folgende Stück Code bekommen arbeiten (lassen Sie uns für einen Moment mit wahlfreiem Zugriff auf Listen übernehmen ist eine pfiffige Idee ;-)):
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)
I get
Rückkehr eine Int
und String
nach ist es Parameter haben möchten. Ich nehme an, wenn überhaupt, ich muss Aux
oder at
verwenden, aber ich bin nicht sicher, wie man das macht.
Great! Danke für deine Bibliothek! – user3127060