[Lua基础课程3]词法规范,数据类型与逻辑运算

CSLua教程

词法规范

变量名

Lua语言中变量名接受3种元素,字母(大写或是小写), 数字和下划线,其中数字不能用作变量名的开始,比如1add是不允许的
下划线加上全大写字母的组合也谨慎使用,如_VERSION,这些可能在lua中拥有别的用途
注意lua语言是大小写敏感的,所以AND, And, and是不同的,前两个可以用作变量名,最后一个是保留字
什么是保留字?
保留字是不能用作变量名,有特殊用途的词,在lua中共有22个保留字
and, break, do, else, elseif, end, false, goto
for, function, if, in ,local, nil, not, or
repeat, return, then, true, until, while
推荐的变量命名方法:
i_am_handsome(利用下划线分隔)
IAmHandsome(利用大小写分隔)
这些命名可以显著增强你的代码可读性

注释

--这是单行注释
--[[
这是多行注释
啦啦啦啦
]]

数据

全局变量

cs开发lua时不推荐声明全局变量,会造成lua之间的潜在干扰可能,建议使用local声明局部变量

local d = 1 --声明局部变量d,值为1
function b()
    local c = "hello"
    client.log(tostring(c)) -- 输出"hello"
end
client.log(tostring(c)) --[[ c is a nil value
因为c是在函数b内声明的局部变量,外部访问就会返回nil
]]

数据类型

lua中共有8种数据类型,在cslua教程中将它们分作2+6的组合
nil, boolean, number, string, table, function 6种常见
userdata, thread 2种少见
使用函数type(val)可以返回val的数据类型

nil

nil区分了自身与其他7种数据类型,nil类型只有一个值,即nil,代表了不存在(相当于其他语言的null)
当变量未定义时默认为nil
当然也可以用a = nil的用法进行赋值操作

boolean

boolean也称为布尔值,有两种值true和false,以此代表真和假

其余类型会在接下来的课程精讲

逻辑运算

逻辑运算包含3种
分别是and, or和not
注意在lua语言中,代表假的值是nil和false
其余均代表真

and

第一个操作数是假,返回第一个操作数,否则返回第二个操作数

or

第一个操作数不是假,返回第一个操作数,否则返回第二个操作数

not

返回相反的布尔值

优先级

not > and > or