diff options
| -rw-r--r-- | challenge-111/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-111/abigail/lua/ch-2.lua | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/challenge-111/abigail/README.md b/challenge-111/abigail/README.md index 3f7fc99b5f..88811306fc 100644 --- a/challenge-111/abigail/README.md +++ b/challenge-111/abigail/README.md @@ -52,6 +52,7 @@ to standard output. In case of ties, we print the first one found. ### Solutions * [GNU AWK](awk/ch-2.gawk) * [C](c/ch-2.c) +* [Lua](lua/ch-2.lua) * [Perl](perl/ch-2.pl) ### Blog diff --git a/challenge-111/abigail/lua/ch-2.lua b/challenge-111/abigail/lua/ch-2.lua new file mode 100644 index 0000000000..6beeb6a979 --- /dev/null +++ b/challenge-111/abigail/lua/ch-2.lua @@ -0,0 +1,25 @@ +#!/opt/local/bin/lua + +-- +-- See ../README.md +-- + +-- +-- Run as: lua ch-2.lua < input-file +-- + +local longest = "" + +for line in io . lines () do + -- + -- Find words with their letters in lexical order, and which are + -- longer than the longest found so far. + -- + if line : lower () + : find ("^a*b*c*d*e*f*g*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*$") + and line : len () > longest : len () + then longest = line + end +end + +print (longest) |
