思维导图
本专栏知识点是通过零声教育的线上课学习,进行梳理总结写下文章,对c/c++linux课程感兴趣的读者,可以点击链接https://xxetb.xetslk.com/s/12PH1r C/C++后台高级服务器课程介绍 详细查看课程的服务。
lua的编译
下载链接
lua的编译
lua的应用
主体是lua
主体是C
C当中嵌入lua虚拟机,运行lua语言的代码。通常这种C中嵌入lua的方式比较普遍
lua入门
注释
全局变量
类型和值
nil
boolean
条件判断
逻辑运算符
lua中的逻辑运算符完全符合C语言中逻辑运算符的短路求值原则
三目运算符
a and b or c类似与C语言中的三木运算符a ? b : c
如果condition为真
如果condition为假
一种特殊的情况
这里需要注意的是not返回的是boolean类型的值
number
string
测试完整代码
-- hello 注释
--[[
多行注释
]]
local i = 1 --local 这个关键字在 lua 中表示是只能在当前的文件中使用
j = 20 --j 就是全局变量
local tab = {name = false}
-- 区分不存在和未定义
print(tab["name"])
function add(a, b)
sum = a + b
sum = a + b + c --c也是一个全局变量,无需声明即可使用
return sum
end
-- nil false才会判为假,0是真
if not tab.name then
print("table.name is 假")
end
-- nil已经为假,那么lua语言就不会再去判断后面的0是否为假
local isOK = nil and 0
print(isOK)
--0已经为真,那么lua语言就不会去判断or后面的语句
local isOK2 = 0 or nil
print(isOK2)
-- condition ? a : b
-- a and b or c
local isOK3 = 0 and 5 or 3
print(isOK3)
local isOK4 = false and 5 or 3
print(isOK4)
local isOK5 = 0 and nil or 4
print(isOK5)
print(not 0)
local num = 100
print(type(num))
num = num + 1.1
print(type(num))
num = 2100000000
print(type(num))
local str1 = "hello world"
local str2 = str1:gsub("world", "mark") --gsub后面甚至可以接function,做一些特殊的替换
print(str1, str2)
--表示某个字符串占多行
local str3 = [[
hello world1
hello mark1
]]
print(str3)
--字符串的拼接,实际上是生成了一个新的字符串
print(str1..str2)
print(str1..","..str2)
print(str1..100)
print(100 .. 99)