aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-110/abigail/README.md1
-rw-r--r--challenge-110/abigail/lua/ch-1.lua24
2 files changed, 25 insertions, 0 deletions
diff --git a/challenge-110/abigail/README.md b/challenge-110/abigail/README.md
index 642f4d5bbf..f8cb59375d 100644
--- a/challenge-110/abigail/README.md
+++ b/challenge-110/abigail/README.md
@@ -44,6 +44,7 @@ can completly ignore any white space in the input.
[AWK](awk/ch-1.awk)
[Bash](bash/ch-1.sh)
[C](c/ch-1.c)
+[Lua](lua/ch-1.lua)
[Perl](perl/ch-1.pl)
### Blog
diff --git a/challenge-110/abigail/lua/ch-1.lua b/challenge-110/abigail/lua/ch-1.lua
new file mode 100644
index 0000000000..a118074744
--- /dev/null
+++ b/challenge-110/abigail/lua/ch-1.lua
@@ -0,0 +1,24 @@
+#!/opt/local/bin/lua
+
+--
+-- See ../README.md
+--
+
+--
+-- Run as: lua ch-1.lua < input-file
+--
+
+for line in io . lines () do
+ local number = line : gsub (" ", "") -- Remove spaces
+ if -- nnnn nnnnnnnnnn
+ number : find ("^[0-9][0-9][0-9][0-9][0-9][0-9][0-9]" ..
+ "[0-9][0-9][0-9][0-9][0-9][0-9][0-9]$") or
+ -- +nn nnnnnnnnnn
+ number : find ("^%+[0-9][0-9][0-9][0-9][0-9]" ..
+ "[0-9][0-9][0-9][0-9][0-9][0-9][0-9]$") or
+ -- (nn) nnnnnnnnnn
+ number : find ("^%([0-9][0-9]%)[0-9][0-9][0-9]" ..
+ "[0-9][0-9][0-9][0-9][0-9][0-9][0-9]$")
+ then print (line)
+ end
+end