[按键手机安卓/IOS脚本插件开发] 按键插件调试与判断循环结构辅助工具

实现按键插件的核心原理
通过一个table类型的QMPlugin变量实现按键精灵调用Lua函数,例如

-- Lua代码
-- 实现两数相加求和
function QMPlugin.Add(a, b)
return a + b
end

将以上代码保存成.lua文件,例如test.lua后,放入按键精灵手机助手的plugin文件夹内。
再重启按键精灵手机助手或者刷新插件列表,即可看到自己写的test插件了。
在按键精灵中调用代码如下

//按键精灵代码
Import "test.lua" //导入插件Dim 结果 = test.Add(11, 22)
TracePrint 结果 //输出结果为33

if判断结构
Lua中的if也是判断条件的作用,与按键精灵非常类似,但再次强调,Lua是区分大小写的,所有自带命令关键字都是小写,千万别手贱把if写成If。另外,if的语法结构也稍有不同,详见下面例子

local a = 1
if a > 0 then --判断a是否大于0, 注意不要随便大写!
print("a大于0")
end-- 带else的if结构
if a < 0 then --判断a是否小于0, 注意不要随便大写!
print("a小于0")
else
print("a不小于0")
endlocal b = 1
local c = 1
-- 带elseif的if结构, 与语法与按键类似, 也支持加else
if c == 0 then -- 相等符号与按键不一致, 这里是==, 注意别写错
print("c等于0")
elseif b ~= 0 then -- 不相等符号与按键不一致, 这里是~=, 注意别写错
print("c不等于0")
elseif a < 0 then -- 小于号<与按键语法一致
print("a小于0")
elseif a > 0 then -- 大于号>与按键语法一致
print("a大于0")
elseif b <= 0 then -- 小于或等于号<=与按键语法一致
print("b小于或等于0")
elseif b >= 0 then -- 大于或等于号>=与按键语法一致
print("b大于或等于0")
end-- and or not 运算符与按键精灵一致, 但是注意必须是小写
-- 除了false与nil是假外, 其他全部都是真
if (a == 1 and b == 1) or c ~= 1 then
print("条件成立")
end

while循环结构
while循环与按键语法类似,都是当条件为真时进入循环,具体语法格式例子如下: 

local i = 1
while i < 10 do --当i小于10为真时, 进入循环
print(i)
i = i + 1
end
print(i)
-- 当i不小于等于10时, 跳出这个循环

 repeat循环结构
repeat循环类似于按键语法中的do...loop until循环,当条件为真时结束循环,参考例子如下:

local i = 10
repeat -- 判断在后面, 所以这里必定会进入循环一次
i = i - 1
until i == 0 -- 当i的值为0时, 将会停止循环

for循环结构
for循环结构与按键语法中的for循环有点类似,但是格式有所不同,参考下面例子: 

-- 数值型for循环递增
for i = 1, 10 do -- 循环变量i的值从1到10, 每次递增1
print(i)
end-- 数值型for循环递减
for i = 10, 1, -1 do -- 循环变量i的值从10到1, 每次递减-1
print(i)
end-- 循环变量i无需用local定义, 作用域仅在for循环中, 离开则失效
-- 请勿在循环中修改循环变量的值, 否则可能会产生不可预知的结果-- 泛型for循环
local t = {"QQ"=345911220, "姓名"="紫猫老师"} --定义并赋值一个table变量
for k, v in pairs(t) do -- 遍历表 t 中的所有键值对, pairs是一个迭代函数
print(k .. "=" .. v) -- 字符串之间使用两个小数点 .. 连接起来, 类似于按键精灵中的&连接符
end

 控制循环命令
Lua提供了breakgoto来控制代码的执行走向。
break是用来跳出当前循环结构,不支持在循环外使用break,类似于按键精灵中的exit do,exit for。
goto命令与按键的goto类似,可以在同个作用域内跳转,使用两个冒号做标签名称。具体例子如下:

-- break例子
for i = 1, 10 do
if i == 5 then
break -- 当i等于5时, 跳出当前for循环, 等同于按键的exit for
end
end-- 定义一个标签名称为start
::start::
-- 执行一些代码
goto start -- 跳转到start的位置继续向下执行

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/87183.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/87183.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

提示词框架(9)--CARE

提示词框架不止是AI的框架&#xff0c;也可以是我们的思考框架&#xff0c;拆解问题的方法&#xff01;&#xff01;&#xff01; CARE框架是一种用于优化提示词设计的方法&#xff0c;它帮助用户更有效地与AI进行交互&#xff0c;特别是在需要获取特定信息或实现某些任务时。…

uniapp+vue2 input不显示明文密码,点击小眼睛显示或隐藏密码

<u-input placeholder"请输入密码" prefixIcon"lock" :password"showPassword" v-model"formData.password"prefixIconStyle"font-size: 25px;color: #3C9CFF" border"none"><template slot"suffix…

时间序列的类增量学习:基准与评估

论文地址&#xff1a;https://dl.acm.org/doi/abs/10.1145/3637528.3671581 论文源码&#xff1a;https://github.com/zqiao11/TSCIL 会议&#xff1a;SIGKDD 2024&#xff08;CCF-A&#xff09; 现实环境本质上是非平稳的&#xff0c;随着时间推移常会引入新类别。这在时间序…

智能攻击原理和架构

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 智能攻击系统基于**人工智能&#xff08;AI&#xff09;与大语言模型&#xff08;LLM&#xff09;技术**&#xff0c;通过**环境感知→自主决策→动态执行→对抗进化**的闭环架构实现高效网络入侵。以下…

Beamer-LaTeX学习(教程批注版)【4】

众所周知&#xff0c;随着显示器普及宽屏化&#xff0c;PPT排版需要多列化来充分利用页面的横向空间。 这节课我们来学习如何创建列&#xff0c;即在beamer中增加列内容&#xff0c;以及如何对齐列。 1 使用不同的宽度来创建列 在beamer中我们通过在页面上使用columns环境来创…

通俗理解JVM细节-面试篇

文章目录 前言JVM概述JVM是什么&#xff1f;解决了什么问题&#xff1f;JVM运行流程JVM 与 JRE&#xff0c;JDK的关系 JVM内存结构JVM区域划分程序计数器栈堆方法区 类加载机制五个阶段加载验证准备解析初始化总结双亲委派模型 垃圾回收内存管理什么是GC&#xff1f;如何判定谁…

意识边疆保卫战:22:47深圳AI-BioFab人机融合危机全息实录

前言 前些天发现了一个巨牛的人工智能免费学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 &#x1f9e0;《意识边疆保卫战&#xff1a;22&#xff1a;47深圳AI-BioFab人机融合危机全息实录》 副标题&#xff1a;机械义…

langchain从入门到精通(三十四)——RAG优化策略(十)父文档检索器实现拆分和存储平衡

1. 拆分文档与检索的冲突 在 RAG 应用开发中&#xff0c;文档拆分 和 文档检索 通常存在相互冲突的愿望&#xff0c;例如&#xff1a; 我们可能希望拥有小型文档&#xff0c;以便它们的嵌入可以最准确地反映它们的含义&#xff0c;如果太长&#xff0c;嵌入/向量没法记录太多…

Javaweb - 7 xml

XML 是EXtensible Markup Language 的缩写&#xff0c;翻译过来就是可扩展标记语言。即&#xff0c;XML 和 HTML 一样&#xff0c;都是标记语言&#xff0c;也就是说&#xff0c;它们的基本语法都是标签。 特点&#xff1a; 1. 可扩展&#xff1a;即 XML 是允许自定义格式的。但…

qml实现 裁剪进度条

我们需要实现一个垂直进度条效果&#xff0c;但使用图片裁剪的方式。具体需求&#xff1a; 1. 图片位置固定&#xff0c;容器对齐其左边和下边&#xff0c;宽度和图片相同。 2. 容器背景透明&#xff0c;调整裁剪容器的高度&#xff0c;使其有高度进度条的感觉&#xff08;从下…

Dify 工作流全栈解析:从零构建你的 AI 应用流程引擎

AI工作流的导言&#xff1a; 工作流系统&#xff08;Workflow System&#xff09;是 Dify 的核心组成部分&#xff0c;它通过可视化编程界面支持创建复杂的 AI 应用程序。用户可以将不同的功能块连接起来&#xff0c;从而设计出用于处理数据、与 AI 模型交互、管理条件以及执行…

上下位机通讯规则

0&#xff1a;事由 最近开发&#xff0c;上位机Qt与下位机通讯的时候发现通讯规则有些不一样&#xff0c;这里简单记录一下 。所有代码基于元宝生成&#xff0c;属于伪代码不保证真实可用&#xff0c;啊但是逻辑是这么个逻辑。 1&#xff1a;底层通讯规则 以STM32向上位机通讯…

创建平衡二叉树C++

给你一个整数数组 nums &#xff0c;其中元素已经按 升序 排列&#xff0c;请你将其转换为一棵 平衡 二叉搜索树。 平衡二叉树&#xff1a;每个节点的左右子树高度差不超过1 class Solution { public:TreeNode* dfs(vector<int>& nums, int left, int right){if(l…

海光の初体验

背景 八张K100的风扇已经将近一年没转过了…早在今年4月29日&#xff0c;Qwen3正式发布并全部开源8款「混合推理模型」。作为Qwen系列中的最新一代大型语言模型&#xff0c;Qwen3在推理、指令遵循、工具调用、多语言能力等方面进行了全面增强。海光DCU&#xff08;Deep Comput…

场外交易(OTC)财富管理系统开发及解决方案报告

——跨境金融科技赋能机构客户新增长 一、OTC市场现状与机构业务痛点 1. 政策机遇与市场扩容 “北向互换通”期限延长&#xff1a;2025年7月1日&#xff0c;中国外汇交易中心联合香港交易所将利率互换合约期限延长至30年&#xff0c;首日交易规模达15.3亿元&#xff0c;填补超…

pytorch底层原理学习--JIT与torchscript

文章目录 0 目的1 TorchScript1.1 语言特性的限定性1.2 设计目的&#xff1a;模型表达的专注性 2pytorch JIT&#xff08;Just-in-time compilation)2.1pytorch JIT定义2.1pytorch JIT整个过程&#xff1a;1. 前端转换层&#xff1a;生成静态计算图2. 中间表示层&#xff08;IR…

Ubuntu+Nginx+php+SQLite3+typecho手动搭建个人博客

零.Ubuntu环境 一.安装nginx 使用以下指令进行nginx web服务器安装&#xff1a; apt-get install nginx 如果提示找不到安装包&#xff0c;也可以更新一下系统的apt环境包&#xff1a; sudo apt update 安装完成后&#xff0c;可以使用以下指令查看nginx是否处于激活状态&#…

网络协议概念与应用层

1.概念 1.1 例子 点外卖 上述这个过程,就是自定义协议 自定义协议,具体的方式也是非常灵活的 2.几种开发中更常见的格式 2.1xml 上古时期的组织数据的格式 通过标签来组织数据 xml的优势:让数据的可读性变得更好了 劣势:标签写起来繁琐,传输的时候也占用更多网络带宽 2.2…

pytorch学习—7.处理多维特征的输入

2. 线性模型 3.梯度下降算法 4.反向传播(用pytorch算梯度) 5.用pytorch实现线性回归 6.logistic回归 7.处理多维特征的输入_哔哩哔哩_bilibili 7.1代码复现: import numpy as np import torch import matplotlib.pyplot as plt# 1. 获取数据集 xy_data = np.lo

AI助手“智普清言”《三元》(Python)诗解

文本逻辑解清晰&#xff0c;诗意对应技法轻。 笔记模板由python脚本于2025-07-01 06:54:55创建&#xff0c;本篇笔记适合喜欢python三元语句的coder翻阅。 学习的细节是欢悦的历程 博客的核心价值&#xff1a;在于输出思考与经验&#xff0c;而不仅仅是知识的简单复述。 Pytho…