tôi đùa giỡn xung quanh với HList và các công việc sau như mong đợi:Bắt yếu tố từ một HList
val hl = 1 :: "foo" :: HNil
val i: Int = hl(_0)
val s: String = hl(_1)
Tuy nhiên, tôi không thể có được những đoạn mã sau đây làm việc (hãy giả sử một lúc truy cập ngẫu nhiên trên danh sách là một ý tưởng thông minh ;-)):
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)
tôi muốn có get
trả về một Int
và String
theo đó là tham số. Tôi cho rằng, nếu có thể, tôi phải sử dụng Aux
hoặc at
nhưng tôi không chắc chắn cách thực hiện điều này.
Tuyệt vời! Cảm ơn thư viện của bạn! – user3127060