我正在尝试使用 shapeless 对Hlist
s 进行添加和删除。但我似乎无法让它工作。
所以我在这里是我的清单:
object ShapelessExample {
import shapeless._
def main(args: Array[String]): Unit = {
case class Container[T <: Singleton](name: T)
val a = Container("A") :: Container("B") :: Container("C") :: HNil
val b = Container("B") :: Container("C") :: HNil
println {
a.removeAll[b.type] //doesn't work
}
}
}
所以removeAll
on 方法Hlist
只需要一个类型参数,但我似乎无法使用b.type
. 我可以手动指定a.removeAll[Container["B"] :: Container["C"] :: HNil]
,但有什么办法只使用b
's 类型?