aboutsummaryrefslogtreecommitdiff
path: root/challenge-067/stuart-little/lua/ch-2.lua
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2021-07-19 14:26:28 -0500
committerLuis Mochan <mochan@fis.unam.mx>2021-07-19 14:26:28 -0500
commite542ee52b8f6be5d340550000cbe98f4b2aefb1e (patch)
treef419b7bb3501203a1d2b637eeb61df2eba87768d /challenge-067/stuart-little/lua/ch-2.lua
parent51feed7f6f1ba280658615d36ee2f7ccf77b5000 (diff)
parent675c4ed9a3b441729b9558c051638027242ba77a (diff)
downloadperlweeklychallenge-club-e542ee52b8f6be5d340550000cbe98f4b2aefb1e.tar.gz
perlweeklychallenge-club-e542ee52b8f6be5d340550000cbe98f4b2aefb1e.tar.bz2
perlweeklychallenge-club-e542ee52b8f6be5d340550000cbe98f4b2aefb1e.zip
Merge branch 'master' of github.com:manwar/perlweeklychallenge-club into challenges
Diffstat (limited to 'challenge-067/stuart-little/lua/ch-2.lua')
-rwxr-xr-xchallenge-067/stuart-little/lua/ch-2.lua32
1 files changed, 32 insertions, 0 deletions
diff --git a/challenge-067/stuart-little/lua/ch-2.lua b/challenge-067/stuart-little/lua/ch-2.lua
new file mode 100755
index 0000000000..21a29b011e
--- /dev/null
+++ b/challenge-067/stuart-little/lua/ch-2.lua
@@ -0,0 +1,32 @@
+#!/usr/bin/env lua
+
+-- run <script> <number>
+
+local dict={
+ [0]="0",
+ "_@",
+ "abc",
+ "def",
+ "ghi",
+ "jkl",
+ "mno",
+ "pqrs",
+ "tuv",
+ "wxyz"
+}
+
+function poss(dict,w)
+ if w:len()==0 then return {""} end
+ local prev=poss(dict,w:sub(1,-2))
+ local out={}
+ for _,wrd in ipairs(prev) do
+ for i=1,string.len(dict[tonumber(w:sub(-1))]) do
+ table.insert(out,wrd..dict[tonumber(w:sub(-1))]:sub(i,i))
+ end
+ end
+ return out
+end
+
+for _,w in ipairs(poss(dict,arg[1])) do
+ print(w)
+end