Scala:包装列表,仍然使用压缩?

Scala:包装列表,仍然使用压缩?,scala,Scala,为了方便起见,我围绕scala.collection.immutable.List构建了一个包装器。然而,我意识到zipped函数当然不能与包装器一起使用 新类需要扩展什么特性才能使其成为可能?还是我(来自Java)对Scala使用了完全错误的方法?要扩展注释,如果您只想添加新方法,请使用隐式类而不是包装器: implicit class ListOps[A](private val xs: List[A]) extends AnyVal { def stripe(take: Int, dr

为了方便起见,我围绕
scala.collection.immutable.List
构建了一个包装器。然而,我意识到
zipped
函数当然不能与包装器一起使用


新类需要扩展什么特性才能使其成为可能?还是我(来自Java)对Scala使用了完全错误的方法?

要扩展注释,如果您只想添加新方法,请使用隐式类而不是包装器:

implicit class ListOps[A](private val xs: List[A]) extends AnyVal {
  def stripe(take: Int, drop: Int): List[A] =
    xs.sliding(take, take + drop).flatten.toList
}

// test
val z = List(1 to 20: _*)
z.stripe(2, 3) // List(1, 2, 6, 7, 11, 12, 16, 17)

除非你解释为什么要包装
列表
,否则没有人知道你是否“对Scala使用了完全错误的方法”。如果你这样做是为了添加方法,那么最好使用pimp my library。要添加方法,是的!请添加一些示例代码。你想做的事情可能没那么难,但如果你不知道那是什么,就很难帮助你。@如果您编辑了问题,请回答我。