本系列将从零开始学习Lua的基本语法,用于之后使用xLua进行unity热更新~

使用Vscode开发Lua

至少要下载 Lua 和 LuaDebug 这 2 个扩展~

看到 LuaDebug 的作者 actboy168,我有点惊讶,actboy168 是大名鼎鼎的 ydwe 作者之一,在以前自己玩 we 的时候用的编辑器就是 actboy168 大佬的,后面听说支持 lua 来代替 jass 编写游戏逻辑(那时候已经弃坑~);好的,闲话不多说,我们来编写我们的第一个脚本。

  • 创建一个空文件夹并用vscode打开
  • 创建一个test.lua文件
  • 编写一行代码 print("Hi,Lua~")(也可以使用'' 单引号

基本使用

数据类型

在 lua 中和 python 类型可以直接声明并使用,无需使用类型名,lua 自动分析数据类型。
lua 的数据类型为(8 个):

  • nil 空
  • boolean 布尔型
  • number 数字型
  • function 函数型
  • string 字符串型
  • userdata 用户自定义类型
  • thread 线程型
  • table 表型

可以使用type()来查看类型~
Ps: 在 lua 中不强制使用;结尾

--lua类型
print(type(3.4))
print(type("JK"))
print(type(print))
print(type(3>5))
print(type(nil))
Function类型

Function 类型有什么用呢?使用 Function 类型可以实现将函数作为函数的参数传递(类似 c++ 中的句柄,C# 中的委托);有了这一特性,大大加强了代码的灵活性~

Userdata类型

userdata 类型可以表述用户自己创建的数据结构,也可以表示调用 c 语言函数库创建的新类型。

变量类型

全局变量:全局变量是在整个程序中都可以使用的,默认声明的就是全局变量。
局部变量: 局部变量在全局变量前添加local关键字声明的。

local a=100 --局部变量
b='Fasty' --全局变量

运算符

其他的数学运算符和其他语言是一致的,在这里看一下逻辑运算符and or not
在 lua 中认为 false 和 nil 为假,其他为真。(0 也为真,c 语言中认为 0 为假,非 0 为真)
值得注意的是使用逻辑运算符并非返回逻辑值:

local aa = 4 and 5 -- 若a为false则返回a,否则返回b  返回5
aa=nil and 7  --返回nil

local bb= 7 or 8 --若a为true则返回a,否则返回b 返回7
aa=nil or 8 --返回8

小技巧:使用 aa= nil or 5 可以判断 aa 是否为 nil,若为则赋值为 5。

not 则为取反,一直返回布尔值。

Ps:连接字符串使用,如A…B

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Fasty 微信支付

微信支付

Fasty 支付宝

支付宝

Fasty 贝宝

贝宝