Scala (Slick) HList 拆分为大小写 类

Scala (Slick) HList splitting to case classes

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

2-3 案例类,有没有简单实用的方法可以做到? 目前我使用以下语法:

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

但是这似乎不对,因为我现在的尾巴部分很大..

在 shapeless 中使用元组功能你可以这样做:

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)