lua 多脚本执行

1、全局变量和本地变量

全局变量
--多脚本执行
--全局变量和本地变量
--全局变量
--全采用全局变量其实挺浪费内存的
--像下面这些全是全局变量
a=1
b='123'
--for循环内声明的变量在C#中是局部变量,在lua中是全局变量
for i=1,1 do
	c='lucky'
end
print(c)

在这里插入图片描述

局部(本地)变量
--关键字 local 
for i=1,1 do
	local d='execution'
end

print(d)

在这里插入图片描述
这样在for循环外我们就获取不到局部变量的值
只有在for循环内才能打印

在这里插入图片描述在lua内的任何语句块你只要不加local就默认是全局变量
在这里插入图片描述

2、多脚本执行

Test.lua

print('多脚本测试')
t4='123'
local x = 1

Require.lua

--关键字 require("脚本名") 
require('Test')
print(t4)
print(x)

在这里插入图片描述
从上面可以看到当变量变成 local 后,不是同一个脚本就访问 不了它了
这个可以看出来local应用在语句块外的变量也是有作用的

3、脚本卸载

--require加载执行过的脚本,加载过一次就不会再被执行
require("Test")

require('Test')
--只打印了一次"多脚本测试"

在这里插入图片描述

package.loaded[‘脚本名’]
判断这个脚本是否被执行过

require('Test')


--package.loaded['脚本名']
--返回值为boolean 用来判断这个脚本是否被执行过
print(package.loaded['Test'])

在这里插入图片描述
卸载脚本

print(package.loaded['Test'])

--卸载已经执行的脚本
package.loaded['Test'] = nil
print(package.loaded['Test'])
--重新加载
require('Test')

在这里插入图片描述

4、大G表

a=1
b='567'
for i =1,1 do
	c=7
end

--大G表
--_G表是一个总表(table) 它将我们声明的所有全局变量都存在这个里面
--局部变量不会存到大G表中
for k,v in pairs(_G) do
	print(k,v)
end

在这里插入图片描述

另外

我们如果想要获得另外一个脚本的local变量,其实可以把它设成return
然后在想要的脚本内弄个变量接住它
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值