Advertisement
Guest User

Untitled

a guest
Dec 15th, 2014
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.55 KB | None | 0 0
  1. class Stack[+A] {
  2.   def push[B >: A](elem: B): Stack[B] = new Stack[B] {
  3.     override def top: B = elem
  4.     override def pop: Stack[B] = Stack.this
  5.     override def toString() = elem.toString() + " " +
  6.                               Stack.this.toString()
  7.   }
  8.   def top: A = error("no element on stack")
  9.   def pop: Stack[A] = error("no element on stack")
  10.   override def toString() = ""
  11. }
  12.  
  13. object VariancesTest extends Application {
  14.   var s: Stack[Any] = new Stack().push("hello");
  15.   s = s.push(new Object())
  16.   s = s.push(7)
  17.   Console.println(s)
  18. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement