Lua语法详解之多脚本执行(require, package,_G)

(一)全局变量

--全局变量
a=1--全局变量
c=3--全局变量
for i=1,3 do
	d="world"
end
print(d)--d,这里是d出了循环体还能用,是全局变量

(二)本地变量,local

--本地变量的关键字是local
for i=1,3 do
	local e="world"--这个e只能在这个循环里使用
	print("hell"..e)--打印三次,hellworld
end
local f="root"
print(f)--root

(三)多脚本执行:require
require加载过一次的脚本,再加载不会被执行

-多脚本执行
--关键字 require,require("脚本名") require('脚本名'),这里的脚本是同一个目录的脚本,不同的要写全路径
--加载别的脚本后,可以使用这个脚本的全局变量和全局函数
require("test")--test lua,lua test,会把脚本里的print语句打印出来
require('test')--什么也不打印,因为上面执行过了test脚本
print(a)--root,a是test脚本里的全局变量
print(c)--c在test脚本里是局部变量,不会打印hello
print(f1("nihao"))--nihao,f1是test脚本里的全局函数
print(d[1].name)--1,d是test脚本里的全局表

test.lua

--用来测试多脚本执行的
print("test lua")
print("lua test")
a="root"
local c="hello"
function f1(a)
	print(a)
end
d={{name=1,age=13}}

(四)脚本卸载

--脚本卸载
--判断脚本是否被加载
--package.loaded["脚本名"]--返回的是个bool,判断该脚本有没有被加载过
print(package.loaded["test"])--true
--把加载过的脚本卸载
package.loaded["test"]=nil
print(package.loaded["test"])--nil
--卸载完后又能加载了
require('test')--test lua,lua test

(五)大G表
–大G表
–_G表是个总表(table)存储了声明的全部的全局变量,不存本地变量
所以这就是为什么加载了别的脚本,可以使用别的脚本里的全局变量

(六)小技巧,打印别的脚本里的本地变量,可以在该脚本中用return返回这个本地变量,然后另一个要使用它的脚本,拿个变量接就可以使用了。

h=require('test')--test lua,lua test
print(h)--hello,用h变量接住了test脚本里的本地变量c

test.lua

--用来测试多脚本执行的
print("test lua")
print("lua test")
a="root"
local c="hello"
function f1(a)
	print(a)
end
d={{name=1,age=13}}
return c
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值