前言
Lua是一种面向过程的编程语言, Lua的值类型只有nill boolean number string。 Lua的引用类型只有:
function table userdata thread 。
但是Lua中的Table几乎是万能的, 我们来试一下如何用Lua实现枚举的特性和功能。
实现
枚举的特性是,当里面的第一个元素初始值确定之后,后面的元素累加1,如果不给枚举中的成员附值,那么他们的值会从0开始。也就是相当于一个字典,key是该元素,Value是整数值。
我们可以写这样一个Lua方法,用于给Table里面的内容赋值。
--[[
beginValue 表的初始值
tmpTable 要赋值table表
这个方法出来的 值 按照写的数组顺序累加
TestSix = { "test1","test5","test3","test4","test6"}
ResetTableKeyValue(1000,TestSix);
--]]
function ResetTableKeyValue ( beginValue, tmpTable)
for i=1 , table.getn(tmpTable) do
tmpTable[tmpTable[i]] = beginValue+ i-1;
end
end
Test = { "test1","test5","test3","test4","test6"}
ResetTableKeyValue(1000,Test);
这样Test就是一个枚举,里面的内容是有整数值的。