繁体   English   中英

在案例类定义中串联HList类型

[英]Concatenating HList Types in Case Class Definition

我有三个HList ABR 在案例类定义中,我想强制这三个HList之间的关系。

代码如下:

trait Base[A <: HList]    
case class Concat[A <: HList, B <: HList, R <: HList](a: A, b: B) extends Base[R]

是否可以强制说R是HLists AB的串联? 还是有一种方法不需要我使用类型R但仍然要求Base的类型参数是AB的串联?

您想要Prepend

case class Concat[A <: HList, B <: HList, R <: HList](a: A, b: B)(implicit p: Prepend.Aux[A, B, R]) extends Base[R]

以及一个无需指定R的有用的伴随方法

def concat[A <: HList, B <: HList](a: A, b: B)(implicit p: Prepend[A, B]): Concat[A, B, p.Out] = Concat(a, b)(p)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM