【发布时间】:2016-02-21 22:18:42
【问题描述】:
我玩弄了 HList,以下工作按预期工作:
val hl = 1 :: "foo" :: HNil
val i: Int = hl(_0)
val s: String = hl(_1)
但是,我无法让以下代码工作(让我们暂时假设对列表进行随机访问是一个聪明的想法;-)):
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)
我想让get 根据它的参数返回一个Int 和String。我假设,如果可能的话,我必须使用Aux 或at,但我不知道该怎么做。
【问题讨论】: