金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想制作脚本和学习按键精灵的朋友可以添加按键精灵学习交流群:554127455 学习路上不再孤单,金猪脚本伴你一同成长.
环境变量有什么功用呢? 让我们来比如下,比如在多线程里传递变量值,普通的变量是做不到的,环境变量可以。那可能有同学会说,那全局变量也可以啊。对啊,但是环境变量还有更牛逼的地方,它可以在脚本之间进行值传递,啧啧~这逆天的作用域~
赶快~让我们深入了解下它~
第一问:环境变量到底是个啥?
命令名称:DimEnv 定义环境变量命令功能:定义环境变量,支持QUI事件、支持多线程、 支持两个脚本间的值传递,但是不支持数组定义为环境变量。命令参数:参数变量名备注: 1、在子程序里定义变量不可以为环境变量 2、不支持数组定义为环境变量返 回 值:无 看了上面的表格还是不懂怎么破?
没关系,这表格只是一个助攻打酱油的。 俗话说,“好记性不如烂笔头”哈,看文字不如实战,咱们动手做两个例子脚本,来解剖下这个环境变量。 脚本间环境变量值传递例子:
先新建两个脚本 :a和b
a 脚本里输入代码:
复制代码
b脚本里输入代码:
复制代码
a脚本的启动热键设置为F9
b脚本的启动热键设置为F10
然后我们启动脚本,先启动a脚本:
变量a的值是空的
我们接着启动b脚本:
变量a的值是1,我们现在再去启动下a脚本,如果说环境变量的值不能在脚本间传递的话,启动a脚本,变量a的值肯定还是空是不是? 我们来看下结果,启动a脚本:
a脚本里变量a的值变了有木有,不再是空的而是1。说明环境变量可以在脚本间传递值。
我们多执行几次a和b脚本,会发现,a脚本里的变量a的值会随着b脚本里变量a的值变化。
第二问:环境变量里的值能保存多久?
可能有同学会有这样的疑问,环境变量里的值能保存多久?
这里就需要注意了, 环境变量的值定义之后,要完全退出按键精灵之后环境变量里存储的值才会重置归零。
第三问:环境变量不支持数组怎么办?
前面说过,环境变量不支持数组。那怎么办?
我们看看下面例子中的做法,没看之前根本想不到,原来要传递环境变量数组如此简单:
假设数组b里有四个数值1,2,3,4,
1、我们定义一个环境变量a
2、先把数组b里的值用 链接函数join链接起来,赋值给环境变量a
a=join(b,",") //加上分隔符“,”,方便后面分隔
简单的两步就可以实现了,相当于将环境变量作为一个容器,先把要保存的数组倒进去,要调用的时候,我们再新建一个数组,用split函数把保存在环境变量里的数组再倒出来。
Join函数 Join(list[,delimiter])参数描述list必选。包含要联接的子字符串一维数组。delimiter可选。在返回字符串中用于分隔子字符串的字符。如果省略,将使用空字符 ("")。 如果 delimiter 是零长度字符串,则在同一列表中列出全部项,没有分界符。 Split函数Split(expression[, delimiter[, count[, start]]])参数描述expression必选。[url="]字符串表达式[/url],包含子字符串和分隔符。如果 expression为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。delimiter可选。用于标识子字符串界限的字符。如果省略,使用空格 ("") 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。count可选。被返回的子字符串数目,-1 指示返回所有子字符串。compare可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。
代码如下(多线程里利用环境变量传递数组):
复制代码
数组成功传进了多线程里,大家可以尝试把 定义a为环境变量的这句代码去掉运行看看:[backcolor=rgb(247, 247, 247)]DimEnv a 。 a的值是空的并且提示下标越界对吗? 为什么a的值是空的呢? 因为普通变量是不能传递到多线程里的,环境变量支持多线程值传递。 拓展知识:全局变量Global 也支持多线程,它的作用域是整个脚本。 第四问:环境变量赋值定义还有其他方式吗?
经过前面的例子,我们大概清楚了环境变量到底是个啥了。那我们再深入了解下,我们知道,定义环境变量,首先要用DimEnv去声明变量,然后赋值,那还有没有其他的方法呢?
答案是肯定的,当然有,按键自带的指令也是可以实现的,
假设我们要定义环境变量a,并且定义a为长整型
代码如下:
复制代码
注意这里的变量名不能为中文。
运行结果:
SetEnv——定义环境变量 语法: SetEnv "变量名称", 赋值
GetEnv——读取环境变量值 语法: GetEnv (“变量名称”)
这种方式比较麻烦,定义的变量,需要读取才能使用,也就是说我们SetEnv 定义了一个环境变量,要用它的时候,就一定要用GetEnv读取出来。
大家对环境变量有没有其他的独到认识呢?欢迎一起讨论分享~~~