lua置き場
_muili.
正規表現"%b{}"
lua固有の拡張らしい。独自テンプレート型置換に使える。
function template(temp,dict)
local s = string(temp)
return s:gsub("%b{}",function(x)
-- s="hoge {a}" x="{a}" k="a"
local k = x:sub(2,-2)
return dict[k] or x
end)
end
テーブル{}
配列も連想配列もクラスもこのtableひとつ。
配列なら開始が"1"。
連想配列のキーがなければnil。
"obj.method(self)"のself暗黙表記"obj:method()"があるらしい。
ux={c=7;w=72;tabs={}}
function ux:tab(k,v)
return {title=k;msg=v or k}
end
function ux:mod(i,k,v)
p=self.tabs
-- 大小評価をmathで済ます
x=math.min(#p,i)
if x~=0 then
t=self:tab(k,v)
-- 念のため
if x==i then
p[x]=t
else
table.insert(p,t)
end
end
end
function ux:del(i)
p=self.tabs
x=math.min(#p,i)
if x~=0 and x==i then
table.remove(p,x)
end
end