aboutsummaryrefslogtreecommitdiff
path: root/challenge-278/deadmarshal/lua/ch-2.lua
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-278/deadmarshal/lua/ch-2.lua')
-rw-r--r--challenge-278/deadmarshal/lua/ch-2.lua16
1 files changed, 16 insertions, 0 deletions
diff --git a/challenge-278/deadmarshal/lua/ch-2.lua b/challenge-278/deadmarshal/lua/ch-2.lua
new file mode 100644
index 0000000000..d368132923
--- /dev/null
+++ b/challenge-278/deadmarshal/lua/ch-2.lua
@@ -0,0 +1,16 @@
+#!/usr/bin/env lua
+
+local function reverse_string(s,e)
+ assert(type(s) == 'string' and
+ type(e) == 'string','s and e must be strings!')
+ local t,idx = {},string.find(s,e,1,true)
+ if idx == nil then return s end
+ for i=1,idx do t[#t+1] = s:sub(i,i) end
+ table.sort(t)
+ return table.concat(t,'') .. s:sub(idx+1,#s)
+end
+
+print(reverse_string('challenge','e'))
+print(reverse_string('programming','a'))
+print(reverse_string('champion','b'))
+