33 lines
963 B
Lua
33 lines
963 B
Lua
-- Needed to get dictionary file from web server
|
|
local http = require("socket.http")
|
|
|
|
-- Return count of words that contain pattern
|
|
function count (pattern, wordList)
|
|
local total = 0
|
|
for word in wordList:gmatch("%S+") do
|
|
if word:match(pattern) then total = total + 1 end
|
|
end
|
|
return total
|
|
end
|
|
|
|
-- Check plausibility of case given its opposite
|
|
function plaus (case, opposite, words)
|
|
if count(case, words) > 2 * count(opposite, words) then
|
|
print("PLAUSIBLE")
|
|
return true
|
|
else
|
|
print("IMPLAUSIBLE")
|
|
return false
|
|
end
|
|
end
|
|
|
|
-- Main procedure
|
|
local page = http.request("http://wiki.puzzlers.org/pub/wordlists/unixdict.txt")
|
|
io.write("I before E when not preceded by C: ")
|
|
local sub1 = plaus("[^c]ie", "cie", page)
|
|
io.write("E before I when preceded by C: ")
|
|
local sub2 = plaus("cei", "[^c]ei", page)
|
|
io.write("Overall the phrase is ")
|
|
if not (sub1 and sub2) then io.write("not ") end
|
|
print("plausible.")
|