View difference between Paste ID: vJknRJrw and n6jBQUzu
SHOW: | | - or go back to the newest paste.
1
local dictionary = {}
2
3
local function insertWord(dict, word)
4
	local head, tail = word:upper():match('^(%a)(%a*)$')
5
	if not head then return false; end
6
	if not dict[head] then dict[head] = {}; end
7
	if tail == '' then
8
		dict[head][''] = true
9
		return true
10
	else
11
		return insertWord(dict[head], tail)
12
	end
13
end
14
15
local function confirmWord(dict, word)
16
	local head, tail = word:upper():match('^(%a)(%a*)$')
17
	if not head then return false; end
18
	if dict[head] then
19
	else
20
		return false
21
	end
22
end
23
24
insertWord(dictionary, 'BAG')
25
26
print(confirmWord(dictionary, 'BAG'))