diff options
| -rw-r--r-- | challenge-110/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-110/abigail/lua/ch-1.lua | 24 |
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 |
