From 47a1f634967781f133711c50f1db3db040e0f560 Mon Sep 17 00:00:00 2001 From: Gregor Date: Sun, 18 Feb 2024 16:36:46 +0100 Subject: [PATCH] reformat to make readable --- lua_modules/fifo/fifo.lua | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/lua_modules/fifo/fifo.lua b/lua_modules/fifo/fifo.lua index d21b1dabff..ab83b23b0f 100644 --- a/lua_modules/fifo/fifo.lua +++ b/lua_modules/fifo/fifo.lua @@ -1,6 +1,6 @@ -- A generic fifo module. See docs/lua-modules/fifo.md for use examples. -local tr, ti = table.remove, table.insert +local tableRemove, tableInsert = table.remove, table.insert -- Remove an element and pass it to k, together with a boolean indicating that -- this is the last element in the queue; if that returns a value, leave that @@ -17,29 +17,33 @@ local tr, ti = table.remove, table.insert -- -- Returns 'true' if the queue contained at least one non-phantom entry, -- 'false' otherwise. -local function dequeue(q,k) - if #q > 0 - then - local new, again = k(q[1], #q == 1) - if new == nil - then tr(q,1) - if again then return dequeue(q, k) end -- note tail call - else q[1] = new - end - return true - else q._go = true ; return false +local function dequeue(q, k) + if #q > 0 then + local new, again = k(q[1], #q == 1) + if new == nil then + tableRemove(q, 1) + if again then + return dequeue(q, k) + end -- note tail call + else + q[1] = new + end + return true + else + q._go = true + return false end end -- Queue a on queue q and dequeue with `k` if the fifo had previously emptied. local function queue(q,a,k) - ti(q,a) + tableInsert(q,a) if k ~= nil and q._go then q._go = false; dequeue(q, k) end end -- return a table containing just the FIFO constructor return { ['new'] = function() - return { ['_go'] = true ; ['queue'] = queue ; ['dequeue'] = dequeue } - end + return { ['_go'] = true ; ['queue'] = queue ; ['dequeue'] = dequeue } + end }