我尝试使用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}
}
我现在有点迷失了。