[LUA学习笔记04]Lua语法--数据类型
来源:互联网 发布:在河里炸鱼java游戏 编辑:程序博客网 时间:2024/05/16 14:49
1. 注释
两个减号引导一行注释-- this is comment
-- 这是注释
2. 变量
- 无类型变量
- 变量名区分大小写
- 建议不要使用下划线后跟大写(如_LUAOCCUPIED)命名变量,此为LUA内部变量
- 不需要显式声明变量
- 未初始化的变量值为nil(注:nil不能参加数学运算)
- 允许多重赋值
- 例如 a,b,c = 1,2,3; 等同于 a=1;b=2;c=3;
- 若右值缺少:没有对应右值的左值被置为nil
- 若左值缺少:多余的右值被忽略
3. 数据类型
- numeric 包括整型和浮点型
- string 字符串
- function 函数引用,类似C语言的函数指针
- table 可以充当相关数组、链表、类
- userdata 可以在LUA中保存C语言的 void* 类型
- nil 空(NULL的增强版)
table类型
初始化IntArray = {10, 50, 100} StringArray = {"hello", "world", "!"}
初始化索引从1开始,上例中IntArray1=10; StringArray1="hello";
但是仍然可以手动赋值: IntArray0=-100;
索引键
table的索引键只有在第一次被访问时才创建。
例如
IntArray[0] = 1; IntArray[5000] = 5000;
只有0和5000这两个键被创建。
表成员可以是异类数据
table每个索引对应的值可以是任何类型,甚至是另一个table的引用,例如
MyTable[0] = 100; MyTable[1] = 3.14; MyTable[2] = "string text"; MyTable[3] = {"a","b",1,2,3}; -- 这就相当于二维数组 -- MyTable[3][1]就是"a"
表存储的是引用
table的值只是对于一个数据的引用
a = {}; b = {}; a[10] = {1,2,3}; b[1] = a; b[1][10][2]= "changed"; -- b[1][10][2] 相当于 a[10][2] -- 所以此时a[10][2] = "changed"
用作关联数组
LUA中可以用字符串作为索引键,从而形成 KEY - VALUE 对
Person = {}; Person["name"] = "My Name"; Person["age"] = 24; print( Person["name"]); print( Person.age); --也可以通过点操作符访问成员
Table["key"] 与 Table.key 总是等价。
- [LUA学习笔记04]Lua语法--数据类型
- Lua语法学习笔记
- Lua学习笔记之数据类型
- Lua学习笔记之数据类型
- Lua学习笔记2-数据类型
- lua学习笔记(1) --Lua基础语法
- Lua学习笔记之lua基本语法DAY1
- lua学习笔记04
- lua学习笔记4之语法
- lua学习笔记之基本语法
- Lua语法学习笔记(一)
- Lua语法学习笔记(二)
- Lua学习笔记(2):基本语法
- Lua学习笔记(1)-基础知识、表达式语法
- 【Lua】语法笔记#1
- 【Lua】语法笔记#2
- Lua数据类型学习
- Lua语法学习
- 测试一下
- [LUA学习笔记02]在C中通过LUA API访问LUA脚本变量
- [LUA学习笔记03]LUA函数和C函数的相互调用
- owc组件使用(统计分析图)
- ado.net数据库连接
- [LUA学习笔记04]Lua语法--数据类型
- Java SE 6之脚本引擎 让程序如虎添翼
- 帮助寻找图灵奖得主Jim Gray
- ado.net的连接显示实例
- winpcap一些开发实践
- Windows XP 的系统和局部环境变量
- 1.31晴 感冒中
- VC中隐式链接无.LIB动态链接库的方法
- 给数据库用户设置存储过程执行权限的SQL语句