- 按键认证导师
- 513852
- 3624
- 47
- 4633 朵
- 28052 个
- 6157 个
- 190000
- 2010-10-09
|
1#
t
T
发表于 2022-02-18 16:08
|
|只看楼主
标识符(即变量名、函数名等名称)规范: 在Lua中,标识符是由字母、数字、下划线组成的字符串,注意不能以数字开头。
例如i,zimao,test007,_abc等都是正确标识符。 但007test,中文,a-b-c等都是错误标识符。
另外,在Lua语言中对大小写敏感,即变量abc与变量ABC是不一样的。
提问:请思考上面正确与错误的原因是什么?
注释语法格式: 单行注释是使用两个连续的横杠(--)表示,例如 -- 这是一条注释语句
多行注释采用两个连续横杆+中括号(--[[ --]])表示,例如 --[[ 这里是注释语句,不会被执行到。 --]]
扩充:在多行注释的两中括号中间还可以使用等号(=)避免注释语句中出现中括号干扰。
语句结构: 在Lua中,语句结构是很灵活的,你可以用换行表示每一句,也可以用分号表示每一句,甚至用空格来表示每一句,例如以下代码中都是完全相同效果的。- -- 例子1
- a = 1
- b = a * 2
- -- 例子2
- a = 1;
- b = a * 2;
- -- 例子3
- a = 1; b = a * 2
- -- 例子4, 可读性很差, 但也是正确的, 不影响执行效果
- a = 1 b = a * 2
复制代码
变量: 在Lua中变量可以直接使用,无需定义,这种变量成为全局变量,未经赋值的变量默认为nil,类似于按键精灵中的Null。 也可使用local关键字定义为局部变量,我们更加推荐使用这种方法来控制变量的作用域。- a = 1
- a = "abc"
- local b = true
复制代码 当你在同一行连续定义赋值变量时,要注意Lua是按顺序赋值,例如- local a, b, c = 1, 2 --这段代码执行后, a的值是1, b的值是2, 按顺序左右对应赋值, c由于没有赋值, 所以c是nil
- a, b = b, a -- 这句代码实现了变量a与变量b互换数据, 也就是a变成了2, b变成了1
复制代码
数据类型: Lua语言属于动态类型语言,所以无需定义变量的数据类型,程序会根据自身类型信息获取类型。
在lua中有8种基本数据类型:nil(空)、boolean(布尔)、number(数值)、string(字符串)、userdata(用户数据)、function(函数)、thread(线程)和table(表)。可以通过内置函数type来查看一个变量的数据类型.
nil对应按键精灵中Null,即没有数据,空数据,当一个变量未被赋值时,默认就是nil。
boolean与按键精灵中类似,但是它的值是小写的true和false,不要手贱改成大写。另外,除了false与nil代表为假的值,其他任何数据都表示真,包括0也是真。
number是指一切数值,包括整数,小数等。
string是指一切字符串内容,可以跟按键一样使用双引号("我是字符串内容")来表示,也可以使用单引号('我是字符串内容')来表示,跨行长文本还可以用两个中括号来表示 [[ 这里有一段跨行文本 这整段内容也是字符串内容 ]]
userdata是用于与其他编程语言交互时使用的数据类型,这里不做讨论。
function表示一个函数。
thread表示一个线程。
table与按键精灵中的表类型类似,只不过它更加强大,例如function函数都可以放入table中。
篇幅有限,在后续教程中,我们将进一步对Lua语言展开讲解。下一篇:[按键手机插件开发]02. 数值、字符串、布尔、表、函数各大类型
|