25 lines
654 B
Lua
25 lines
654 B
Lua
LetterCounter = {
|
|
new = function(self, word)
|
|
local t = { word=word, letters={} }
|
|
for ch in word:gmatch(".") do t.letters[ch] = (t.letters[ch] or 0) + 1 end
|
|
return setmetatable(t, self)
|
|
end,
|
|
contains = function(self, other)
|
|
for k,v in pairs(other.letters) do
|
|
if (self.letters[k] or 0) < v then return false end
|
|
end
|
|
return true
|
|
end
|
|
}
|
|
LetterCounter.__index = LetterCounter
|
|
|
|
grid = "ndeokgelw"
|
|
midl = grid:sub(5,5)
|
|
ltrs = LetterCounter:new(grid)
|
|
file = io.open("unixdict.txt", "r")
|
|
for word in file:lines() do
|
|
if #word >= 3 and word:find(midl) and ltrs:contains(LetterCounter:new(word)) then
|
|
print(word)
|
|
end
|
|
end
|