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

22 lines
356 B
Text
Raw Permalink Normal View History

2026-02-01 16:33:20 -08:00
define :queue [
init: method [][
2023-07-01 11:58:00 -04:00
this\items: []
]
2026-02-01 16:33:20 -08:00
empty?: method [][
zero? this\items
]
2023-07-01 11:58:00 -04:00
2026-02-01 16:33:20 -08:00
push: method [item][
this\items: this\items ++ item
]
2023-07-01 11:58:00 -04:00
2026-02-01 16:33:20 -08:00
pop: method [][
ensure -> [not? this\empty?]
2023-07-01 11:58:00 -04:00
2026-02-01 16:33:20 -08:00
result: this\items\0
this\items: remove.index this\items 0
return result
]
2023-07-01 11:58:00 -04:00
]