从案例类的LablelledGenerics获取字段名称和值

时间:2016-08-24 14:53:27

标签: shapeless labelled-generic

我尝试使用Seq [String],其中包含案例类的字段名称 另一个包含case类值的Seq [String]。 以通用的方式。我想我必须使用Poly1函数映射值以使任意类型=>字符串。

但是现在,我无法从LabelledGenerics中提取键和值。

def apply[T,R <: HList](value : T)(implicit gen: LabelledGeneric.Aux[T, R],
                      keys : Keys[R],
                      valuesR : Values[R]
                      ) {
       val hl = gen.to(value) 
       val keys = hl.keys ...
       val values = hl.values.map ...
}

我不确定是否必须要求隐含密钥和值,或者是否可以使用LabelledGeneric来提供密钥和值。

我试图映射以下Poly over键以获得字符串的hlist。 但似乎关键不是见证

object PolyWitnesToString extends Poly1 {
  implicit def witnessCase = at[Witness]{ w => w.toString}
}

我现在有点迷失了。

0 个答案:

没有答案