Scala 2.8的一个新功能是上下文边界.什么是上下文绑定以及它在哪里有用?
当然我先搜索(例如找到这个),但我找不到任何非常清晰和详细的信息.
[B >: A]在Scala 中意味着什么?有什么影响?
示例参考:http://www.scala-lang.org/node/129
class Stack[+A] {
def push[B >: A](elem: B): Stack[B] = new Stack[B] {
override def top: B = elem
override def pop: Stack[B] = Stack.this
override def toString() = elem.toString() + " " + Stack.this.toString()
}
def top: A = error("no element on stack")
def pop: Stack[A] = error("no element on stack")
override def toString() = ""
}
object VariancesTest extends Application {
var s: Stack[Any] = new Stack().push("hello");
s = …Run Code Online (Sandbox Code Playgroud)