Lua语法小贴士(十二)loadstring和loadfile

Lua里面可以使用loadstring来加载一个字符串,字符串中包含了lua脚本。

示例:

local str = "print('TestLoadingString') return 1234"
local func = loadstring(str)
print(func())

虽然字符串里没有被function() end包围,但loadstring加载进来的却是一个函数。

这是一个没有参数的函数,如果你需要添加参数,可以这样:

local fmtStr = "local a='%d' print(a)"
local fmtFunc = loadstring(string.format(fmtStr, 9999))
fmtFunc()

或者还可以这样:

local fmtParamStr = "return function(s,x) print(s..x) end"
local fmtParamFunc = loadstring(fmtParamStr)()
fmtParamFunc("test parameters", "666")

如果你需要在配置表里自定义一些公式,loadstring可能比较好用。



Lua里面还可以使用loadfile,可以加载一个lua文件。

(个人感觉意义不大)

例如,我们在一个文件TestLoading.lua里添加:

print("TestFileLoading")

return true

那么就可以在另一个lua文件中调用它:

print(loadfile("TestLoading.lua")())



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值