RosettaCodeData/Task/Stack/Scala/stack-1.scala
2023-07-01 13:44:08 -04:00

17 lines
358 B
Scala

class Stack[T] {
private var items = List[T]()
def isEmpty = items.isEmpty
def peek = items match {
case List() => error("Stack empty")
case head :: rest => head
}
def pop = items match {
case List() => error("Stack empty")
case head :: rest => items = rest; head
}
def push(value: T) = items = value +: items
}