Scala(Slick)HList拆分为案例类

时间:2015-06-22 16:32:28

标签: scala slick

目前我有一个超过22个字段的HList,现在我想把它拆分为

2-3个案例类,是否有一个简单的功能方法呢? 目前我使用以下语法:

CaseClass1(c.head, c.tail.head, c.tail.tail.head, etc...)

然而,这似乎不对,因为我现在有一个非常大的尾巴部分..

1 个答案:

答案 0 :(得分:1)

在无形状中使用元组功能,你可以这样做:

import shapeless._
import syntax.std.tuple._

case class Foo(a: Int, b: String)

val hlist =  1 :: "a" :: 2 :: "b" :: HNil
Foo.tupled(hlist.take(2).tupled)