RosettaCodeData/Task/Queue-Definition/Arturo/queue-definition.arturo

22 lines
340 B
Plaintext

define :queue [][
init: [
this\items: []
]
]
empty?: function [this :queue][
zero? this\items
]
push: function [this :queue, item][
this\items: this\items ++ item
]
pop: function [this :queue][
ensure -> not? empty? this
result: this\items\0
this\items: remove.index this\items 0
return result
]