锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鐢╨ua鏉ュ啓娓告垙鑴氭湰鐨勭‘鏄竴浠跺緢鏂逛究鐨勪簨鎯咃紝浣嗘槸鏈夋椂鍊欓渶瑕佺敤鍒版灇涓劇被鍨嬫椂灝辨湁鐐歸夯鐑︿簡錛屽洜涓簂ua閲屾椂娌℃湁鏋氫婦鍨嬪彉閲忚繖涓笢瑗跨殑錛屾墍浠ヨ浣跨敤鏋氫婦榪?寰楄嚜宸辮漿鎹竴涓嬶紝鎴戝啓浜嗕竴涓嚱鏁扮敤鏉ュ仛榪欑杞崲錛? function CreatEnumTable(tbl, index) 鍦ㄩ渶瑕佺敤鍒版灇涓懼彉閲忕殑鍦版柟鍙榪欐牱鐢ㄥ氨琛屼簡錛? 杈撳嚭涓猴細 褰撶劧錛屼篃鍙互鎸囧畾涓嬫爣浠庡灝戝紑濮嬶紝 鍦ㄣ奝rogramming in Lua銆嬩竴涔︿腑鎻愬埌浜嗕竴涓弻绔槦鍒楃殑瀹炵幇鏂規硶錛屾垜鎶婂畠鎷挎潵鏀硅繘浜嗕竴涓嬬敤鍦ㄤ簡鎴戞鍦ㄥ埗浣滅殑涓涓猂PG娓告垙閲岋紝鐢ㄨ搗瑙夊緱 鏉ヨ繕涓嶉敊錛屽姞浜嗕竴涓狦etSize()鏉ュ彇寰桳ist鐨勫ぇ灝忥紝榪欎釜鍦ㄦ父鎴忓埗浣滀腑鐢ㄥ榪樻槸寰堝ぇ鐨刕_^ 婧愪唬鐮佸涓嬶細 function CList:ctor() function CList:PushFront(value) function CList:PushBack(value) function CList:PopFront() function CList:PopBack() function CList:GetSize() 鍦ㄦ渶鍓嶉潰鐨勯偅鍙List = class() 榪欓噷浣跨敤浜嗕簯椋庡啓鐨勪竴涓猚lass鍑芥暟鍒涘緩涓涓被錛? local _class={} function class(super) create(class_type,...) setmetatable(class_type,{__newindex= if super then return class_type
xls2lua.exe xlsfile luafile [-n] [-i]
xlsfile:瑕佽漿鎹㈢殑xls鏂囦歡鍚?
luafile:杞崲鍚庣殑lua鏂囦歡鍚?
-n:鍙夊弬鏁幫紝褰搙ls鏂囦歡鏈変慨鏀規椂鎵嶈漿鎹?
-i:鍙夊弬鏁幫紝xls琛ㄥ崟絎竴鍒椾綔涓簂ua琛ㄧ殑绱㈠紩 闃呰鍏ㄦ枃
]]>
]]>
]]>
assert(IsTable(tbl))
local enumtbl = {}
local enumindex = index or 0
for i, v in ipairs(tbl) do
enumtbl[v] = enumindex + i
end
return enumtbl
end
EnumTable =
{
"ET1",
"ET2",
}
EnumTable = CreatEnumTable(EnumTable )
print(EnumTable.ET1)
print(EnumTable.ET2)
1
2
姣斿浠?0寮濮嬶紝鍙鎶婁笂闈㈠垱寤烘灇涓捐〃鐨勮鍙ユ崲鎴愪笅闈㈣繖鏍峰氨鍙互浜嗭細
EnumTable = CreatEnumTable(EnumTable, 10)
]]>
CList = class()
self.m_list = { first = 0, last = -1 }
end
local first = self.m_list.first - 1
self.m_list.first = first
self.m_list[first] = value
end
local last = self.m_list.last + 1
self.m_list.last = last
self.m_list[last] = value
end
local first = self.m_list.first
if first > self.m_list.last then return nil end
local value = self.m_list[first]
self.m_list[first] = nil
self.m_list.first = first + 1
return value
end
local last = self.m_list.last
if self.m_list.first > last then return nil end
local value = self.m_list[last]
self.m_list[last] = nil
self.m_list.last = last - 1
return value
end
if self.m_list.first > self.m_list.last then
return 0
else
return math.abs(self.m_list.last - self.m_list.first) + 1
end
end
榪欎釜鍑芥暟鍙互鍦ㄤ簯椋庣殑鍗氬涓婃壘鍒幫紝涓轟簡鏂逛究璧瘋鎴戝氨鍦ㄨ繖閲屽厛鎶勪竴涓嬩簡錛?
local class_type={}
class_type.ctor=false
class_type.super=super
class_type.new=function(...)
local obj={}
do
local create
create = function(c,...)
if c.super then
create(c.super,...)
end
if c.ctor then
c.ctor(obj,...)
end
end
end
setmetatable(obj,{ __index=_class[class_type] })
return obj
end
local vtbl={}
_class[class_type]=vtbl
function(t,k,v)
vtbl[k]=v
end
})
setmetatable(vtbl,{__index=
function(t,k)
local ret=_class[super][k]
vtbl[k]=ret
return ret
end
})
end
end
]]>