From 9bf2837505b7384ac18f1ae23de256729f561dfc Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 29 Feb 2024 14:01:02 -0500 Subject: Add indra/newview/scripts/lua directory, copied into viewer image. --- indra/newview/scripts/lua/testmod.lua | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 indra/newview/scripts/lua/testmod.lua (limited to 'indra/newview/scripts/lua') diff --git a/indra/newview/scripts/lua/testmod.lua b/indra/newview/scripts/lua/testmod.lua new file mode 100644 index 0000000000..22626e4038 --- /dev/null +++ b/indra/newview/scripts/lua/testmod.lua @@ -0,0 +1,2 @@ +print('scripts/lua/testmod.lua') +return function () return 'hello from scripts/lua/testmod.lua' end -- cgit v1.2.3 From ba1f0060b42390bd4f63de7fe32b0d0e9360f633 Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 29 Feb 2024 15:08:20 -0500 Subject: Clarify that the print output from testmod.lua is load-time. --- indra/newview/scripts/lua/testmod.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/scripts/lua') diff --git a/indra/newview/scripts/lua/testmod.lua b/indra/newview/scripts/lua/testmod.lua index 22626e4038..60f7f80db1 100644 --- a/indra/newview/scripts/lua/testmod.lua +++ b/indra/newview/scripts/lua/testmod.lua @@ -1,2 +1,2 @@ -print('scripts/lua/testmod.lua') +print('loaded scripts/lua/testmod.lua') return function () return 'hello from scripts/lua/testmod.lua' end -- cgit v1.2.3 From d50d7c50651d5bcaf6f35349e2461351cf91224f Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 29 Feb 2024 15:09:49 -0500 Subject: Add Queue.lua from roblox.com documentation. --- indra/newview/scripts/lua/Queue.lua | 40 +++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 indra/newview/scripts/lua/Queue.lua (limited to 'indra/newview/scripts/lua') diff --git a/indra/newview/scripts/lua/Queue.lua b/indra/newview/scripts/lua/Queue.lua new file mode 100644 index 0000000000..fa8737334c --- /dev/null +++ b/indra/newview/scripts/lua/Queue.lua @@ -0,0 +1,40 @@ +-- from https://create.roblox.com/docs/luau/queues#implementing-queues + +local Queue = {} +Queue.__index = Queue +​ +function Queue.new() + local self = setmetatable({}, Queue) +​ + self._first = 0 + self._last = -1 + self._queue = {} +​ + return self +end +​ +-- Check if the queue is empty +function Queue:IsEmpty() + return self._first > self._last +end +​ +-- Add a value to the queue +function Queue:Enqueue(value) + local last = self._last + 1 + self._last = last + self._queue[last] = value +end +​ +-- Remove a value from the queue +function Queue:Dequeue() + local first = self._first + if self:IsEmpty() then + return nil + end + local value = self._queue[first] + self._queue[first] = nil + self._first = first + 1 + return value +end +​ +return Queue -- cgit v1.2.3 From 6aee62f2bbdd06cf34c4042317cb52ec3c09570c Mon Sep 17 00:00:00 2001 From: Nat Goodspeed Date: Thu, 29 Feb 2024 16:47:42 -0500 Subject: Fix wonky Unicode chars from web paste --- indra/newview/scripts/lua/Queue.lua | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'indra/newview/scripts/lua') diff --git a/indra/newview/scripts/lua/Queue.lua b/indra/newview/scripts/lua/Queue.lua index fa8737334c..e178ad9969 100644 --- a/indra/newview/scripts/lua/Queue.lua +++ b/indra/newview/scripts/lua/Queue.lua @@ -2,29 +2,29 @@ local Queue = {} Queue.__index = Queue -​ + function Queue.new() local self = setmetatable({}, Queue) -​ + self._first = 0 self._last = -1 self._queue = {} -​ + return self end -​ + -- Check if the queue is empty function Queue:IsEmpty() return self._first > self._last end -​ + -- Add a value to the queue function Queue:Enqueue(value) local last = self._last + 1 self._last = last self._queue[last] = value end -​ + -- Remove a value from the queue function Queue:Dequeue() local first = self._first @@ -36,5 +36,5 @@ function Queue:Dequeue() self._first = first + 1 return value end -​ + return Queue -- cgit v1.2.3