Word wheel: Difference between revisions

Added a simple Lua implementation that does not involve metatables
(Added a simple Lua implementation that does not involve metatables)
Line 2,241:
wok
woke</pre>
 
===No metatables, simple===
<syntaxhighlight lang="lua">-- Algorithm is from Ruby implementation.
local wheel = arg[1] or 'ndeoKgelw' -- wheel is 1st argument
wheel = wheel:lower()
local middle = wheel:sub(5, 5)
assert(#middle == 1)
for line in io.lines() do -- get dictionary from standard input
local word = line:lower()
if word:find(middle) and #word >= 3 then
for i = 1 , #wheel do
local wheel_char = wheel:sub(i, i)
word = word:gsub(wheel_char, '', 1)
end -- for
if #word == 0 then io.write(line:lower() .. ' ') end
end -- if
end -- for
print ''
</syntaxhighlight>
 
====Shell command====
<pre>$ < unixdict.txt lua ./word-wheel.lua</pre>
{{out}}
<pre>
eke elk keel keen keg ken keno knee kneel knew know knowledge kong leek week wok woke
</pre>
 
=={{header|Mathematica}} / {{header|Wolfram Language}}==
31

edits