如何通过实现 tailDefined 来扩展 Stream
how to extend Stream by implementing tailDefined
我想延长 scala.Stream
。当我尝试时,它告诉我我不能,因为我没有所需的方法 tailDefined
.
class S[T](s:Stream[T]) extends Stream[T] {
}
当我尝试这个时,它告诉我 tailDefined
受到保护:
class S[T](s:Stream[T]) extends Stream[T] {
def tailDefined = s.tailDefined
}
如何绕过此限制并实现 Stream
的扩展?
如果你想"add new methods"到Stream
,使用隐式类:
implicit class S[T](s:Stream[T]) {
def method1 = ...
}
val s: Stream[Int] = ...
s.method1
我想延长 scala.Stream
。当我尝试时,它告诉我我不能,因为我没有所需的方法 tailDefined
.
class S[T](s:Stream[T]) extends Stream[T] {
}
当我尝试这个时,它告诉我 tailDefined
受到保护:
class S[T](s:Stream[T]) extends Stream[T] {
def tailDefined = s.tailDefined
}
如何绕过此限制并实现 Stream
的扩展?
如果你想"add new methods"到Stream
,使用隐式类:
implicit class S[T](s:Stream[T]) {
def method1 = ...
}
val s: Stream[Int] = ...
s.method1