32 lines
521 B
Lua
32 lines
521 B
Lua
|
function cB(w,c)
|
||
|
local t={}
|
||
|
t.b=""
|
||
|
function t.w(s,d)
|
||
|
s.b=s.b..TS(d)
|
||
|
end
|
||
|
t.write = t.w
|
||
|
function t.r(s,l)
|
||
|
if type(l) == "number" then
|
||
|
local ns,bs=s.b:sub(1,l+1),s.b:sub(l+2)
|
||
|
s.b=bs
|
||
|
return ns
|
||
|
elseif type(l) == "string" then
|
||
|
local oS=s.b
|
||
|
if l == "*a" then
|
||
|
s.b=""
|
||
|
return oS
|
||
|
elseif l == "*l" then
|
||
|
S=s.b:find("\n") or #s.b
|
||
|
s.b=s.b:sub(S+1)
|
||
|
rS = oS:sub(1,S-1)
|
||
|
if rS:len() < 1 then return nil end
|
||
|
return rS
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
t.read = t.r
|
||
|
t.close = c
|
||
|
w(t)
|
||
|
return t
|
||
|
end
|