Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala shapeless:为HList派生元组_Scala_Shapeless_Hlist - Fatal编程技术网

Scala shapeless:为HList派生元组

Scala shapeless:为HList派生元组,scala,shapeless,hlist,Scala,Shapeless,Hlist,我对“变形”非常陌生,正在努力为我的HList导出一个Tupler。以下是一个简化的示例: object Builder { import shapeless.ops.hlist.Tupler.hnilTupler val empty: Builder[HNil] = new Builder[HNil](HNil) } class Builder[L <: HList: Tupler](list: L) { def add[T](value: T): Builder[T ::

我对“变形”非常陌生,正在努力为我的
HList
导出一个
Tupler
。以下是一个简化的示例:

object Builder {
  import shapeless.ops.hlist.Tupler.hnilTupler
  val empty: Builder[HNil] = new Builder[HNil](HNil)
}

class Builder[L <: HList: Tupler](list: L) {
  def add[T](value: T): Builder[T :: L] = new Builder[T :: L](value :: list)
  def tuple: Tupler[L]#Out = list.tupled
}
对象生成器{
导入shapeless.ops.hlist.Tupler.hnilTupler
val empty:Builder[HNil]=新的Builder[HNil](HNil)
}

不应导入类生成器[L
shapeless.ops.hlist.Tupler.hniltupper

通常在Scala中,如果一个方法缺少一些隐式参数,则添加相应的隐式参数

def add[T](value: T)(implicit tupler: Tupler[T :: L]): Builder[T :: L] = new Builder[T :: L](value :: list)

shapeless.ops.hlist.Tupler.hniltupper
不应导入

通常在Scala中,如果一个方法缺少一些隐式参数,则添加相应的隐式参数

def add[T](value: T)(implicit tupler: Tupler[T :: L]): Builder[T :: L] = new Builder[T :: L](value :: list)