以下内容转载自按键精灵开发者:紫猫感谢大大的支持与热心分享
调试代码除了自己搭建Lua环境调试代码外,也可以直接用记事本或者vscode文本编辑器之类的软件,通过按*键*精*灵*手*机*助*手*直接调试插件,具体我们将在做详细讲解
数值:数值型与按*键*精*灵*手*机*版中的类型一致,也是直接写变量名=数字,例如
locala=10
localb=20*2
localpi=3.14
字符串:字符串与按*键*精*灵*手*机*版中类型稍有不同,除了可以用双引号外(""),还可以单引号()和长文本的中括号([[]]),例如
locala="紫猫"
localb=编程
localc="单引号与双引号没有区别,可能唯一区别就是双引号字符串里出现了单引号是不需要转义处理的"
locald=在单引号字符串中出现了双引号"也是不需要转义处理的
locale=[[
这是一段换行内容
这里的数据都被保存到变量e中
包括这几个换行符
如果内容中也存在两个中括号之类的情况
那么可以给头尾中括号中间加一定数量的等号
例如都加一个等号即可解决这个冲突问题。
]]
字符串中的\表示转义符,例如\n是代表换行符,\"是代表一个双引号字符,\\代表一个斜杠字符,所以当你使用需要填写电脑路径时一定要注意转义!
布尔:布尔与按*键*精*灵*手*机*版中类型稍有不同,在Lua中布尔值是两个小写的true和false,由于Lua是大小写敏感的,所以千万别手贱给首字母大写!其次要记住,在Lua中只有false与nil代表假,其他任何数据全部都是真,包括0与空字符串、空表等都是真。
表:在Lua中表是最主要最强大的数据结构,它与按键精灵table类似,但是功能更加强大!详见下方代码例子
localt={}--这是定义了一个空表,里面没有任何数据
t["键名"]="键值"--这是按键精灵中的键值对写法,在Lua中也支持
t[1]=--这是按键精灵中的表下标索引写法,在Lua中也支持
t.name="紫猫"--这个是按键精灵不支持的写法,这行代码等同于下面一行
t["name"]="紫猫"--这行代码与上一行相同,但是写法不同
t.add=function(a,b)returna+bend--这是按键精灵不支持的写法,实现将函数存入表中
函数:function函数与按键类似,但是功能语法相差甚远,在Lua中函数定义语法格式有以下几种
f()--这一行代码的位置是错误的,Lua必须先执行定义函数,然后才能调用
localfunctionf(x)--定义了一个局部函数f
print(x)--实现了打印输出参数x功能
returnx--结束函数并返回参数x
end
f()--在这里才能正常调用上面定义的函数f,调用语法是返回值=函数名(参数)
localadd=function(a,b)--将一个匿名函数赋值给局部变量add
returna+b--将参数a+b的结果作为返回值
end
result=add(10+20)--调用函数必须要写在定义函数下面
function函数支持多个返回值,语法格式如下
localfunctionfoo()
return"a","b","c"
end
localx,y,z
x,y,z=foo()--调用函数后,将3个结果依次赋值给变量x,y,z
参数可以使用三个小数点(...)来表示可变长参数,也就是无论填写几个参数,例子如下:
localfunctionadd(...)--定义add函数,参数填写数字,无论几个参数都可,功能是求所有参数之和
localsum=0
for_,vinipairs{...}do--这部分代码暂不做解释,以后再说
sum=sum+v
end
returnsum
end
add(1,2,3,4,5,6,7,8,9,10)--执行后函数返回值是55
更多精彩内容,欢迎