Lua
上一次写的博客AssetBundle可以理解为资源热更新
而Lua是逻辑热更新
比如c#语言是高级语言 需要编译才能运行
Lua是解释语言,不用编译
Lua语法
-----------------注释-----------------
-----------------单行注释-----------------
--区别于c#的注释,c#的单行注释是//
--Lua的注释是--
--print("hello world")
-----------------多行注释-----------------
--区别于c#的注释,c#的多行注释是/**/
--Lua里多行注释用的是 --[[内容]]
-- 也可以写成--[[内容--]]
-- 也可以写成--[[内容]]--
--[[
print("hello world")
print("hello world")
print("hello world")
]]
-----------------声明变量-----------------
--区别于c#的变量声明,c#的声明变量是 int a = 10; 需要写数据类型
--Lua不需要,另外Lua里写不写末尾的分号都可以
a = 10;
a = "abc"
--获取他的类型 用type
print(type(a))
-----------------字符串-----------------
--查看字符串的长度
str = "123字符串"
print(#str)
--如果没有中文的话每个英文字母占1个长度 中文每个字算3个长度--
--字符串多行打印
s = "你好\n么\n?"
--和
s = [[
你好
么
?
]]
--这两个结果是一样的
print(s)
--字符串拼接 print("123" .. "456")
--拼接
print(string.format("你叫小明,你今年%d岁了"),18))
-- %d 数字拼接
-- %a 任何字符拼接
-- %s 字符配对
--这一步多余了,默认就会给你转成tostring
--print(tostring(a))
s = "AbcdEfG"
print(string.upper(s))--创建一个新的字符串全部改成大写
print(s)--原字符串不会受到改变
print(string.lower(s))--改成小写
print(string.reverse(s))--翻转字符串
print(string.find(s, "Abc"))--索引查找 返回两个值(一个是起始位置 一个是终点) Lua里下标是从1开始的
print(string.sub(s, 3))--截取字符串 后面的数会截取值以后的数 舍去前面的数有重载支持截取多个
print(string.rep(s,2))--重复会打印相同的字符串参数是打印的遍数
print(string.gsub(s,"Ab","替换的内容")--字符串修改 会返回两个值 第二个是修改的次数
-----------------全局/局部 变量-----------------
--Lua里默认的是全局变量
--声明局部变量,加关键词local
local name = "xiaoming"
-----------------同时声明多个变量-----------------
--c#也能同时声明多个
number,age,name = 123,12,"xiaogang"
-----------------算数运算符-----------------
-- +,-,*,/,^,%,^
-----------------比较运算符-----------------
-- <,>,<=,>=,==,~= <----最后一个是不等于 跟c#不一样
-----------------逻辑运算符-----------------
--与(and) 或(or) 非(not)
isMan = false
age =