, Scala, @vptheron . "" , Scala .
Sequence[+A], , B A, Sequence[B] Sequence[A].
, , ( ) .
:
class IntSequence extends Sequence[Int] {
override def append(x: Sequence[Int]) = {
println(math.sqrt(x.head))
}
}
A , Int Any, Sequence[Int] Sequence[Any]. .
StringSequence, IntSequence.
:
val x:Sequence[Any] = new IntSequence
val ss:Sequence[Any] = new StringSequence
x.append(ss)
, . IntSequence Sequence[Int], Sequence[Int] Sequence[Any] .
, . .
( ) , . Sequence[String] Sequence[Any], Sequence[String] Sequence[Any].
, , Sequence[String], x IntSequence.
" 13", ", ".
. , , , , , .
, . , .
, , , @vptheron.
, .