类型和值
- Lua是一种动态类型语言,这种语言中, 没有类型定义,每个值都带有其自身的类型信息
- 基本数据类型
- nil
- 与其他所有值进行区分
- 表示无效值的情况
- 全局变量在第一次被赋值之前的默认值就是nil,而将nil赋值给全局变量则相当于将其删除
- boolean
- 值为true或false
- 注:Lua语言中,false以及nil外的其他值,都为真(包括0和空字符串)
- number
- 64位int和float
- 关系运算
- <
- >
- <=
- >=
- ~=
- 类型不同,lua认为他们不相等,类型相同,再判断
- 数学库
- 随机数发生器
- 不带参数
生成【0,1)范围内均匀分布的伪随机实数 - 参数为整型值n
生成【0,n】范围内均匀分布的伪随机整数 - 参数为整形值l和u
生成【l,u】范围内均匀分布的伪随机整数
- 取整函数
- floor
- 向负无穷取整-ceil
- 向正无穷取整-modf
- 向0取整
- string
- 字符串常量
- 可以用一对单引号或双引号来声明字符串变量
- 在双引号里面,单引号不用转义;在单引号里面,双引号不用转义
- 长字符串
12345678910page = [[<html><head><title>an html page</title></head><body><a href="http://www.lua.org">lua</a></body></html>]]
- nil
强制类型转换
- lua提供数值与字符串之间的自动转换
- 任何需要字符串的地方出现了数值,会将数值转换为字符串
- 任何有字符串参与的算术运算都会被当作浮点运算处理
字符串标准库
- string.rep
- string.reverse
- string.lower
- string.upper
- string.sub
- string.byte
- string.format
- string.find
- string.gsub
其他内容
- userdata
- function
- thread
- table
- lua语言中唯一的数据结构
- 以一种简单、同一且高效的方式表示数组、集合、记录和其他数据结构
- 也可以用表来表示包和其他对象
- 表的本质是一种辅助数组,这种数组不仅可以使用数值作为索引,也可以使用字符串或其他类型的值作为索引(nil除外)
- lua语言中的表要么是值要么是变量,它们都是对象
- 可以认为,表是一种动态分配的对象,程序只能操作指向表的引用(或指针)。除此之外,Lua语言不会进行隐藏的拷贝或创建新的表
- 创建表
123a = {}//没有指向表的引用a = nil - 表索引
- 表可以有不同数据类型的键
- 结构体
把表当结构体使用的时候,可以使用
123a = {}a.x = 1a.y - 表构造器
用来创建和初始化表的表达式
12345678//简单的 空构造器a = {}//用初始化序列days = {"Sunday","Monday","Tuesday","Wednesday","Thursday","Firday","Saturday"}//初始化记录式b = {x = 10,y = 20}//显示指定索引opnames = {["+"] = "add",["-"] = "sub",["*"] = "mul",["/"] = "div"} - 数组、列表和序列
所有元素不为nil的数组叫做序列
1234//获取序列长度的操作for i = 1,#a doprint(a[i])end
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ C++_调用 Lua内容:表—传递&&获取10/12
- ♥ Lua_调用 C++函数:传递普通参数10/01
- ♥ C++_调用 Lua内容:全局表 获取&&设置10/09
- ♥ Lua_调用 C++函数:传递数组参数10/06
- ♥ C++_调用 Lua函数:错误处理10/11
- ♥ Lua_调用 C++如何和Lua结合09/27