summaryrefslogtreecommitdiff
path: root/qw.lua
blob: bedfb46f898b48ac50e65ce622eb1535ad880727 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
-- qw"aaa bbb ccc" --> { "aaa", "bbb", "ccc" }
local function qw(str)
	local out = {}
	for x in str:gmatch"%S+" do
		table.insert(out, x)
	end
	return out
end
-- qw.s"aaa bbb ccc" --> { aaa=true, bbb=true, ccc=true }
local function qws(str)
	local out = {}
	for x in str:gmatch"%S+" do
		out[x] = true
	end
	return out
end
-- for k in qw.i"aaa bbb ccc" do ... end
local function qwi(str) return pairs(qws(str)) end

return setmetatable({qw=qw,s=qws,i=qwi},{__call=function(_,...) return qw(...) end})