在Lua中使用枚举型变量
转自: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中使用枚举型变量相关推荐
- JS 枚举型变量操作
JS 枚举型变量操作(用于全局变量等) (2010-03-18 21:10:20) 转载 标签: js 分类: 程序语言 还有就是 in 运算符使用来判断对象是否包含有属性,你可以看一 ...
- C语言中的布尔型变量
C语言中的布尔型变量 使用C++或JAVA等编程语言较多的人,可能随手就习惯定义一个flag,其数据类型为布尔型,然后用true和false来表示真与假的问题.这个是非常常用的.但是,在C语言 ...
- [SV]SystemVerilog枚举型变量语法详解及应用举例
SystemVerilog枚举型变量语法详解及应用举例 This section provides the examples to declare SystemVerilog enum of logi ...
- plsql 中的记录型变量和引用型变量
/* plsql 中的记录型变量和引用型变量 查询某个员工的姓名和工资 练习记录型变量: 定义变量: emp_rec emp%rowtype; sql语句: select * into emp_rec ...
- 面试题:问题:Java中,char型变量中能不能存储一个中文汉字,为什么?
* char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字, * 所以,char型变量中当然可以存储汉字啦.不过,如果某个特殊的汉字没有被包含在 * unicod ...
- ☆ C/C++ 枚举型变量(enum)与布尔型变量(bool)
★C语言常见的数据类型有: 整型 浮点型 字符型 数组 结构体 指针 ★这里就来介绍枚举型(enum)与布尔型(bool): ************************************* ...
- mysql的枚举型数据库_mysql数据类型中的枚举型_mysql_mysql教程_mysql数据库_课课家...
在MySQL当中,枚举类型ENUM是一个字符串对象,它的值是在表创建的时侯在列规定中显式枚举的一列值.而在某些情况下,ENUM值也可以为空字符串('')或者是NULL.今天小编就通过这篇文章介绍enu ...
- SQL中的布尔型变量
SQL SERVER中的布尔数据类型用bit,说明如下: 1.bit 与 SQL Server 的整型和数字数据相似的数字数据,但 bit 列只能存储 0 和 1. 2.在插入.修改 bit 数据时, ...
- enum-使用宏管理你的枚举型数据
高级枚举型定义实现 C源文件 #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #includ ...
最新文章
- [uart]stty命令使用
- Javascript 面向对象编程初探(一)--- 封装
- mysql添加字段时定义候选键_MySQL 表约束
- 机器学习回归算法—性能评估欠拟合与过拟合
- 零基础转行学习python是否还在纠结?这里告诉你答案!
- 这里有一个让你变成技术大牛的机会
- 使用DbVisualizer导出DB2创建序列SQL
- linux中pad命令,1.1Linux初级命令(附例子)
- java 检测目录下的文件_如何在Java中检查文件是目录还是文件
- jQuery实现点击行(tr)选中某列中CheckBox
- 制图折断线_CAD制图规范及技巧总结大全
- Imputation:用于数据插补的SPSS宏
- Sqli-Lab实验环境搭建(phpstudy环境安装、火狐浏览器插件安装、sqlmap安装、Sqli-Lab安装)
- 中国互联网大人物直播简史
- c 登录窗口 oracle,C语言实现图形界面登陆窗口
- Matlab数学建模学习报告(一)
- Java并发编程:volatile关键字解析 by 海子
- Repeating Annotations
- win10 linux uef系统,超详细!Win10(UEFI启动模式)安装Ubuntu18.04双系统
- 计算广告小窥[下]要啥自行车!