lua - Lua 5.4 调用声明为字符串的函数
问题描述
我需要调用一个声明为字符串的函数
IElocal abc = "function x() print('math.sqrt(25)') end"
我试过 load(abc)
没有错误,但没有打印任何内容并print(load(abc))
返回function: 0000000000ebcea0
我又做了一次尝试,但似乎没有什么适合我的情况(或者我可能只是不好)
解决方案
请阅读说明书...
如果没有语法错误,则 load 将编译后的块作为函数返回
如果要调用该函数,请调用它。
local abc = "function x() print('math.sqrt(25)') end"
local loadedFunction = load(abc)
loadedFunction()
或者干脆
load(abc)()
当然,您应该检查加载是否实际成功。
如果您希望发生某些事情,您可能还应该调用已由您加载的函数定义的函数。
load(abc)()
x()
推荐阅读
- reactjs - React 中的单元测试入口文件
- css - CSS Spinner Not Spinning
- r - 用 NA 替换字符(0)
- homebrew - 在地窖中安装 Postgres 9.6
- mysql - Azure MySql 休息 API 。插入新的防火墙规则
- xamarin.forms - VS2017 15.7.3 不再打断点 Xamarin.Forms
- bash - 如何根据行文件的随机列表从文件中删除行
- python - Tensorflow while_loop 帧连接
- kotlin - 如何压缩列表
在 Kotlin 中使用 RxJava2? - python - Python; Instagram API,获取用户提要