Lua环境的配置 和 Lua的一些简单语法逻辑
--------------------------------------------------------Lua环境配置------------------------------------------------------
一、Lua环境配置
要想在电脑上使用Lua的话 我们需要下载这个luaforWindows
这是下载地址
Release Lua for Windows v5.1.5-52 Released · rjpcomputing/luaforwindows

下载后默认安装就行
安装完毕后 在终端能够显示 Lua的版本号 说明就安装成功了

Lua也是一门编程语言,我们有很多编译器可以选择,这里我推荐SublimeText或者VSCode
前者下载完 然后你创建文本文件最后将后缀改成.lua然后 Ctrl + B就可以编译执行了。我这里说明一下VScode配置环境:
主要就是需要装三个插件:

装好三个插件后,还需要设置一个地方
在设置中搜索 executorMap,点击在 setting.json 中编辑

然后修改下图的Lua的exe文件地址即可 修改到你默认安装的地址能找到这个解释器就行

--------------------------------------------------------------Lua的一些简单语法----------------------------------------
二、Lua的简单语法
1、Lua中的注释
单行注释用 -- 例如:
-- 单行注释 分号可以省略
-- 在Lua中 我们可以不用写分号
多行注释 有好几种 下面演示一下:
--[[
多行注释
print("篮球场欢迎你")
]]--[[
多行注释
print("篮球场欢迎你")
]]----[[
多行注释
print("篮球场欢迎你")
--]]
2、Lua中的变量
在lua中 变量主要有8种,4种简单变量类型。number string nil boolean
分别的含义是 数字型(包括整数小数)字符串 在Lua中 字符串可以用单引号 也可以使用双引号 这个不重要 nil 就是空的意思 看成是C#中的空就行 boolean就是布尔类型 true 和 false 两种
我们可以通过一个函数 获取到他们的 变量类型 type(变量) 有一个函数 print(你想打印的东西) 这样你就可以打印了
-- lua中所有的变量申明都不需要指定变量类型 会自动判断类型
-- lua中的一个变量可以随便赋值 会自动识别类型
-- lua使用没有声明的变量 默认是空nil
例如:
-- 通过type函数 返回值是一个string 得到变量类型
-- nil 类似C#中的null
print("------------nil-------------")
a = nil
print(a)
print(type(a))
-- lua中的所有数字都是number类型 小数整数都是他
print("------------number-----------")
a = 5
print(a)
a = 5.25
print(a)
print(type(a))
-- 字符串的声明 使用单引号 或者双引号包裹 这点和C#不同
print("------------string-----------")
a = "4556"
print(a)
a = '5555'
print(a)
-- bool类型
print("--------------boolean-----------")
a = true
print(a)
a = false
print(a)
另外Lua还有另外四种变量类型 function thread table userdata 这四种比较复杂我们 后面再详细讲述 分别的名字是 函数 协同程序 表 数据结构
3、Lua中的字符串
前面说了,可以单引号 也可以双引号表示字符串
str = "双引号字符串"
str2 = '单引号字符串'
(1)获取字符串的长度 #
-- 获取字符串的长度
s = "5555212字符"
-- 一个汉字占三个长度 英文字符占一个长度
print(#s)
(2)字符串多行打印
-- 字符串多行打印 方式一 转义字符 lua中也是支持转义字符的
print("123\n222")
-- 字符串多行打印 方式二 利用没有--的中括号
s = [[你好
这里是
星星求人]]
print(s);
(3)字符串的拼接 .. 或者format
-- 字符串的拼接 使用两个 .. 连接
-- 只要使用..就是看成是字符串的拼接
print("123".."456")-- 字符串的拼接 使用API
print(string.format("我是篮球场,我今年%d岁了",88))
print(string.format("我是篮球场,我今年%s岁了","5555614篮球场"))
(4)其他类型 转 字符串
-- 别的类型转字符串
a = true
print(tostring(a))
-------------------------------------------字符串中的一些方法---------------------------------------------------
注意哦 在lua中只要是集合类的数据类型索引都是从1开始的 而不是从0
(5)大小写转换
str = "asbBCON"
-- 小写转大写
print(string.upper(str))
-- 大写转小写
print(string.lower(str))
(6)字符串翻转
-- 翻转字符串
print(string.reverse(str))
(7)字符串的查找
-- 字符串索引查找 返回两个值 一个是起始位置 一个是终止位置
print(string.find(str,"BC"))
(8)字符串的截取 拼接 以及 替换
-- 截取字符串
-- 一个数字就是从该位置到结尾都可以 两个数字就是截取指定区间的字符串
-- 后面的参数可以传一个 传两个都可以
print(string.sub(str,2))
-- 字符串重复 就是拼接多个相同的自己 后面的数字是多少 就是有几个自己
print(string.rep(str,2))
-- 字符串修改 会返回一个数字 返回的这个数字就是修改了几处
print(string.gsub(str,"as","**"))
(9)字符和ASCII码之间的转换
-- 字符转ASCII码
a = string.byte("lua",1)
print(a)
-- ASCII码转字符
a = string.char(a);
print(a)
4、Lua中的操作符 + - * / %
说实话 这里就是正常的加减乘除 但是需要注意的是 Lua中没有自增 自减的写法 ++ -- 么有哦。而且也没有 符合运算符的写法 += -=都没有哦
但是多了一个 ^ 幂的运算 例如 2 ^ 3 = 8 在Lua中是支持的哦
对了这里再介绍一下位运算符 在Lua中的位运算符的关键字是 and or not 而不是 && || ! 而且也没有三目运算符 不过我们可以自己手动实现 (语句) and (语句1)or (语句2)这样就是三目运算符了。
好的 今天的知识学习到此结束 我们更多的内容明天继续
