如何将本地变量重置为原始值?
2015-2-7 21:10:15
收藏:0
阅读:79
评论:1
在编写 iOS 机器人脚本时,我想使用特定的坐标来检查当前屏幕状态的位置。我将使用一个调用坐标的 RGB 颜色的命令来实现这个。下面是一个示例,假设print会返回 RGB。
local x=100
local y=200
function getxy()
print(x .. "," .. y)
end
function example()
x=200
y=300
getxy()
end
function example2()
x=300
y=400
getxy()
end
getxy()
example()
getxy()
example2()
如果你运行这个示例,它会返回 100,200 200,300 200,300 300,400。
是否可能在不覆盖函数外部的局部变量 x 和 y 的情况下,在example()函数内部调用 x 和 y?
编辑: 我的解决方案
local x=100
local y=200
function getxy()
print(x .. "," .. y)
end
function home()
x=100
y=200
end
function example()
x=200
y=300
getxy()
home()
end
function example2()
x=300
y=400
getxy()
home()
end
getxy()
example()
getxy()
example2()
现在运行这个示例,它会返回 100,200,200,300,100,200和300,400,正好是我想要的。
所以我添加了一个名为home()的函数。这对于我要完成的任务是否有效,还是应该将home()调用放在getxy()函数内部?
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
使用以下示例
local x,y = 100,200; function output(x,y) print('x =',x,', y =',y); end function home(o) local x,y = x+50,y+50; -- 这里使用了声明的x,y,但是将它们分配给了名为x,y的本地变量…所以原始的x,y不会被重写 o = (o and output(x,y)); -- 懒惰调用输出而不是if then end end function example1(o) local x,y = 15,20; o = (o and output(x,y)); end function example2(o) local x,y = x*x/(x+x),y*y/(y+y); o = (o and output(x,y)) end print('原始变量值 =',x,y); -- 原始变量值 = 100 200 home(true); -- x = 150, y = 250 example1(true); -- x = 15, y = 20 example2(true); -- x = 50, y = 100 print('变量值 =',x,y); -- 变量值 = 100 200