• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[紫猫] [按键手机插件开发]02. 数值、字符串、布尔、表、函数各大类型 [复制链接]

1#
本系列教程目的是让大家掌握Lua基本语法与按键精灵手机版的插件开发制作,丰富按键精灵生态环境,让按键精灵变得更加强大!
本教程中部分知识点参考《Lua程序设计》书籍,有兴趣可以自行购买→传送门
按键精灵手机版插件的开发标准草案请阅读帖子:http://bbs.anjian.com/showtopic-697779-1.aspx
紫猫学院也有提供Lua插件开发的VIP教学服务,有兴趣请咨询紫猫老师QQ345911220或微信zimaoxy



调试代码
除了自己搭建Lua环境调试代码外,你可以百度搜索Lua在线调试,打开网页就可以执行代码,例如https://chenxuuu.gitee.io/lua-online/,也可以直接用记事本或者vscode文本编辑器之类的软件,通过按键精灵手机助手直接调试插件,具体我们将在后面做详细讲解


数值:
数值型与按键精灵手机版中的类型一致,也是直接写变量名=数字,例如
  1. local a = 10
  2. local b = 20 * 2
  3. local pi = 3.14
复制代码


字符串:
字符串与按键精灵手机版中类型稍有不同,除了可以用双引号外(""),还可以单引号('')和长文本的中括号([[]]),例如
  1. local a = "紫猫"
  2. local b = '编程'
  3. local c = "单引号与双引号没有区别,可能唯一区别就是双引号字符串里出现了单引号'是不需要转义处理的"
  4. local d = '在单引号字符串中出现了双引号"也是不需要转义处理的'

  5. local e = [[
  6. 这是一段换行内容
  7. 这里的数据都被保存到变量e中
  8. 包括这几个换行符
  9. 如果内容中也存在两个中括号之类的情况
  10. 那么可以给头尾中括号中间加一定数量的等号
  11. 例如都加一个等号即可解决这个冲突问题。
  12. ]]
复制代码
字符串中的\表示转义符,例如\n是代表换行符,\"是代表一个双引号字符,\\代表一个斜杠字符,所以当你使用需要填写电脑路径时一定要注意转义!



布尔:
布尔与按键精灵手机版中类型稍有不同,在Lua中布尔值是两个小写的truefalse,由于Lua是大小写敏感的,所以千万别手贱给首字母大写!其次要记住,在Lua中只有falsenil代表假,其他任何数据全部都是真,包括0与空字符串、空表等都是真。


表:
在Lua中表是最主要最强大的数据结构,它与按键精灵table类似,但是功能更加强大!详见下方代码例子
  1. local t = {} -- 这是定义了一个空表,里面没有任何数据
  2. t["键名"] = "键值" -- 这是按键精灵中的键值对写法,在Lua中也支持
  3. t[1] = 345911220 -- 这是按键精灵中的表下标索引写法,在Lua中也支持
  4. t.name = "紫猫" -- 这个是按键精灵不支持的写法,这行代码等同于下面一行
  5. t["name"] = "紫猫" -- 这行代码与上一行相同,但是写法不同
  6. t.add = function (a, b) return a + b end -- 这是按键精灵不支持的写法,实现将函数存入表中
复制代码


函数:
function函数与按键类似,但是功能语法相差甚远,在Lua中函数定义语法格式有以下几种
  1. f(123) --这一行代码的位置是错误的, Lua必须先执行定义函数, 然后才能调用

  2. local function f(x) -- 定义了一个局部函数f
  3. print(x) -- 实现了打印输出参数x功能
  4. return x -- 结束函数并返回参数x
  5. end

  6. f(123) --在这里才能正常调用上面定义的函数f, 调用语法是返回值 = 函数名(参数)

  7. local add = function (a, b) -- 将一个匿名函数赋值给局部变量add
  8. return a + b -- 将参数a+b的结果作为返回值
  9. end

  10. result = add(10 + 20) -- 调用函数必须要写在定义函数下面
复制代码
function函数支持多个返回值,语法格式如下
  1. local function foo()
  2. return "a", "b", "c"
  3. end

  4. local x, y, z
  5. x, y, z = foo() -- 调用函数后, 将3个结果依次赋值给变量x,y,z
复制代码
参数可以使用三个小数点(...)来表示可变长参数,也就是无论填写几个参数,例子如下:
  1. local function add(...) --定义add函数, 参数填写数字, 无论几个参数都可, 功能是求所有参数之和
  2. local sum = 0
  3. for _, v in ipairs{...} do --这部分代码暂不做解释, 以后再说
  4. sum = sum + v
  5. end
  6. return sum
  7. end

  8. add(1,2,3,4,5,6,7,8,9,10) -- 执行后函数返回值是55
复制代码


上一篇:[按键手机插件开发]01. Lua中变量与数据类型的介绍

最后编辑紫猫 最后编辑于 2022-02-27 11:54:52

【紫猫编程学园】火热招生中

教学涉及按键精灵电脑版、按键精灵手机版、易语言、Lua编程。

包含网页、端游、手游、办公、模拟器、插件等。

报名咨询QQ:345911220 或 97682686 或 97682687;

报名咨询微信:zimaoxy; 点我在线交谈


紫猫学园免费教程

加入交流QQ群: 7333555

发新话题 回复该主题