Luat训练营-第2天

@TOC

第1天内容复习

第一天内容

1
2
3
4
5
6
7
8
9
-- 单行内容注释
--[[
多行内容注释
]]
a = 1 -- 变量赋值
b = 2 -- 变量赋值
s,d,f = 11,"123fghf",213-- 多变量赋值
c = nil -- nil类型
print(a,b,s,d,f,c)-- 打印

第2天内容

提要

在这里插入图片描述

加减乘除取余乘方

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
-- 加法
a = 22
b = 56
c = a + b
print(c) -- print(a+b)

-- 减法
c = a - b
print(c) -- print( a-b)

-- 乘法
c = a * b
print(c) -- print(a*b)

--除法
c = a / b --注意不是反斜杠
print(c) -- print(a/b)

--取余
c = b % a
print(c) -- print(b%a)

--乘方
c = a ^ b
print(c) -- print(a^b)

--四则运算
c = (a+b)*a
print(c) -- print((a+b)*a)

转义字符

课上内容:

1
2
print("\\") -- 打印反斜杠
print("\0") -- 打印null

课下拓展:

1
2
3
4
5
print('\\');    -- 单斜杠
print("\""); -- 双引号
print("\"\""); -- 双引号
print("\'"); -- 单引号
print("''"); -- 单引号

拼接字符串

1
print("i".." am".." lua")-- 字符串拼接

数字与字符串互转

函数 转为字符串 tostring
函数 转为数字 tonumber

1
2
3
4
5
6
7
8
9
10
11
-- 字符串转换
n = 1 --数字类型
m = "m" -- 字符类型
h = tostring(n)..m -- 转换 拼接
print(h) -- 打印

--数字转换
a = 123 -- 数字
s = "555" -- 字符串
d = a .. tonumber(s) -- 转换 拼接
print(d) -- 打印

其他内容

参考:LUAT 让无线通信更优雅

布尔型和比较运算

布尔型(boolean)只有两个可选值:true(真) 和 false(假)
Lua 把 false 和 nil 看作是false,其他的都为true(包括0这个值,也是相当于true)

1
2
3
4
5
6
7
8
a = 12
b = 23
print(a == b) -- 判断相等 f
print(a ~= b) -- 判断不相等 t
print(a > b) -- 判断大于 f
print(a < b) -- 判断小于 t
print(a >= b) -- 判断大于等于 f
print(a <= b) -- 判断小于等于 t

逻辑运算符

and逻辑与操作符。 若 A 为 false,则返回 A,否则返回 B
or逻辑或操作符。 若 A 为 true,则返回 A,否则返回 B
not逻辑非操作符。与逻辑运算结果相反,如果条件为 true,逻辑非为 false

1
2
3
4
5
6
7
8
9
10
11
12
13
14

-- 逻辑与
print(true and true) -- t
print(true and false) -- f
print(false and false) -- f

-- 逻辑或
print(true or true) -- t
print(true or false) -- t
print(false or false) -- f

-- 逻辑非
print(not true) -- f
print(not false) -- t

条件判断

if 条件1 then
符合条件1后执行的代码
elseif 条件2 then
符合条件2后执行的代码
else
其他条件执行的代码
end

while 判断依据 do 满足做什么 end

for 临时变量名=开始值,结束值,步长 do 循环的代码 end

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
a = 1
if a < 10 then
print("a",a)
end

-- 需要注意的: 0这个值,也是相当于true
if 0 then
print("123")
end

--false 和 0
if false then
print("1")
elseif 0 then
print("2")
end

-- nil
if nil then
print("123")
end

-- while 判断依据 do 满足做什么 end
a = 10
while a>1 do
a = a - 1 -- 每次循环减一
print(a) -- 打印下a
end

-- for
for i = 1,10,1 do -- 从1加到10 每次步长为1
print(i)
end

函数

函数是指一段在一起的、可以做某一件事儿的程序,也叫做子程序。在前面的内容中,我们已经接触过了函数的调用,这个函数就是前面用到了很多次的print(…)。调用函数只需要按下面的格式即可:函数名(参数1,参数2,参数3,……)为何要使用函数?因为很多事情都是重复性操作,我们使用函数,可以快速完成这些操作
基础函数

1
2
3
4
5
6
--函数原型
function hello()
print("hello lua")-- 打印
end
--函数调用
hello() --

局部变量 loacal
使用local创建一个局部变量,与全局变量不同,局部变量只在被声明的那个代码块内有效。

1
2
3
4
5
6
7
function hello()
local a = 1
print(a)-- 打印
end
--函数调用
print(a) -- 函数外打印
hello() --

在这里插入图片描述

1
2
3
4
5
6
7
8
function add(num1,num2,num3)
local a = num1+ num2 +num3 -- 全加
local b = num1* num2 -- 乘法
return a,b,num3 --多变量返回
end

x1,x2,x3 = add(1,2,3)
print( x1,x2,x3) -- 打印

第3天

第3天

上次更新 2021-01-28