object FunctionalStack extends App {
var stack: List[String] = List()
// Push elements
stack = "Scala" :: stack
stack = "C" :: stack
stack = "C++" :: stack
stack = "Java" :: stack
stack = "Python" :: stack
// Peek
println(s"Top of stack: ${stack.head}\n")
// Print the stack
println("Current stack:")
stack.foreach(println)
println()
// Pop
while (stack.nonEmpty) {
println(stack.head)
stack = stack.tail
}
println()
// Print the stack
println("Current stack:")
stack.foreach(println)
}
/*
run:
Top of stack: Python
Current stack:
Python
Java
C++
C
Scala
Python
Java
C++
C
Scala
Current stack:
*/