RosettaCodeData/Task/Stack/Phix/stack-2.phix

27 lines
588 B
Plaintext

function push(sequence stack, object what)
stack = append(stack,what)
return stack
end function
function pop(sequence stack)
object what = stack[$]
stack = stack[1..$-1]
return {stack,what}
end function
function empty(sequence stack)
return length(stack)=0
end function
sequence stack = {}
?empty(stack) -- 1
stack = push(stack,5)
?empty(stack) -- 0
stack = push(stack,6)
integer top
{stack,top} = pop(stack)
?top -- 6
{stack,top} = pop(stack)
?top -- 5
?empty(stack) -- 1