Lua-基础(一)Say Hi

Lua-基础(一)Say Hi
fasty本系列将从零开始学习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。
评论
匿名评论隐私政策





