在Lua中使用枚举型变量
来源:互联网 发布:trustdata移动大数据 编辑:程序博客网 时间:2024/05/22 13:51
转自:http://groups.google.com/group/jianguhan
用lua来写游戏脚本的确是一件很方便的事情,但是有时候需要用到枚举类型时就有点麻烦了,因为lua里时没有枚举型变量这个东西的,所以要使用枚举还 得自己转换一下,我写了一个函数用来做这种转换:
function CreatEnumTable(tbl, index)
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
当然,也可以指定下标从多少开始,
比如从10开始,只要把上面创建枚举表的语句换成下面这样就可以了:
EnumTable = CreatEnumTable(EnumTable, 10)
用lua来写游戏脚本的确是一件很方便的事情,但是有时候需要用到枚举类型时就有点麻烦了,因为lua里时没有枚举型变量这个东西的,所以要使用枚举还 得自己转换一下,我写了一个函数用来做这种转换:
function CreatEnumTable(tbl, index)
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
当然,也可以指定下标从多少开始,
比如从10开始,只要把上面创建枚举表的语句换成下面这样就可以了:
EnumTable = CreatEnumTable(EnumTable, 10)
阅读全文
0 0
- 在Lua中使用枚举型变量
- 嵌入式编程中,枚举变量的使用
- 枚举变量放到类中使用
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在BCB中使用Lua
- 在Cocoa中使用Lua
- 在C++中使用Lua
- 在C++中使用Lua
- 在Redis中使用Lua
- 在枚举中使用位移
- 自己的php常用功能
- 引用,const引用,指针
- 把排序数组转换为高度最小的二叉搜索树
- Windows Server 2008 安装powershell
- 顺序表类:class SeqList
- 在Lua中使用枚举型变量
- 爬取今日头条上的图片
- 【JavaSE笔记】Java常用类及其方法(一)_Object
- 自定义View常用基础
- Mysql学习_update_orderby_limit
- 百度音乐Api简单简单实用实例及封装
- 使用Intent进行活动间的跳转
- 用Apache Spark进行大数据处理——第二部分:Spark SQL
- Java基础(五)----内部类总结