aboutsummaryrefslogtreecommitdiff
path: root/challenge-073
diff options
context:
space:
mode:
authorchirvasitua <chirvasitua@gmail.com>2021-07-15 16:57:36 -0400
committerchirvasitua <chirvasitua@gmail.com>2021-07-15 16:57:36 -0400
commit1f0aac7d81b1b1ce7b0c9b07388996a64bff10ed (patch)
tree20a08e72e3b9e6a900a74594f696efbed3992b7c /challenge-073
parent81031de3c1d8fe1c389a60f1c4514e17b4989ea7 (diff)
downloadperlweeklychallenge-club-1f0aac7d81b1b1ce7b0c9b07388996a64bff10ed.tar.gz
perlweeklychallenge-club-1f0aac7d81b1b1ce7b0c9b07388996a64bff10ed.tar.bz2
perlweeklychallenge-club-1f0aac7d81b1b1ce7b0c9b07388996a64bff10ed.zip
1st commit on 073_lua
Diffstat (limited to 'challenge-073')
-rwxr-xr-xchallenge-073/stuart-little/lua/ch-1.lua21
-rwxr-xr-xchallenge-073/stuart-little/lua/ch-2.lua11
2 files changed, 32 insertions, 0 deletions
diff --git a/challenge-073/stuart-little/lua/ch-1.lua b/challenge-073/stuart-little/lua/ch-1.lua
new file mode 100755
index 0000000000..452c6f73c0
--- /dev/null
+++ b/challenge-073/stuart-little/lua/ch-1.lua
@@ -0,0 +1,21 @@
+#!/usr/bin/env lua
+
+-- run <script> <space-separated numbers, with the window size first>
+
+function slide(fn,t,k)
+ local out={}
+ for i=1,#t-k+1 do
+ table.insert(out,fn(table.unpack(t,i,i+k-1)))
+ end
+ return out
+end
+
+function map(fn,t)
+ local out={}
+ for _,v in ipairs(t) do
+ table.insert(out,fn(v))
+ end
+ return out
+end
+
+print(table.unpack(slide(math.min,map(tonumber,table.pack(table.unpack(arg,2))),tonumber(arg[1]))))
diff --git a/challenge-073/stuart-little/lua/ch-2.lua b/challenge-073/stuart-little/lua/ch-2.lua
new file mode 100755
index 0000000000..6b86f6e4e8
--- /dev/null
+++ b/challenge-073/stuart-little/lua/ch-2.lua
@@ -0,0 +1,11 @@
+#!/usr/bin/env lua
+
+-- run <script> <space-separated numbers>
+
+local out,run={}
+for k,v in ipairs(arg) do
+ table.insert(out,(((not run) and 0) or (tonumber(v)<=run and 0) or (run)))
+ run=run and run <= tonumber(v) and run or tonumber(v)
+end
+
+print(table.unpack(out))