labelled-generic

    3热度

    3回答

    我知道用无形的,我可以做这样的事情: import shapeless._, syntax.singleton._, record._ case class Foo(x: Int, y: String) case class RichFoo(x: Int, y: String, z: Double) def makeRich(foo: Foo): RichFoo

    4热度

    1回答

    有人知道如何对齐两个记录时,他们有相同的字段名称,但不是相同的值有一个值包装列另一个包裹在选项,我需要对齐它们作为顺序是不同 import shapeless._ import shapeless.labelled.{FieldType, field} import shapeless.ops.hlist.{Align, ToTraversable, ZipWith} object Sha

    8热度

    1回答

    我想参数化需要一个泛型类型A对于其中LabelledGeneric可以检索工作的方法的类型参数。下面是天真的做法 case class Foo(bar: String, baz: Boolean) def params[A](a: A) = { val lbl = LabelledGeneric[A] val keys = Keys[lbl.Repr].apply

    20热度

    2回答

    我想在做类似的东西Safely copying fields between case classes of different types但与重新排序场转的情况下,类到另一种领域,即 case class A(foo: Int, bar: Int) case class B(bar: Int, foo: Int) 我想有东西转A(3, 4)成B(4, 3) - 无形的LabelledGen

    8热度

    1回答

    假设我想穿越案例类通用表示所描述here 我定义了一些类型类描述字段: trait Described[X] extends (X => String) object Described{ def apply[X](x: X)(implicit desc: Described[X]) = desc(x) } 定义了一些实例: implicit object DoubleDescr