lua 中的assert 与loadstring 问题

2015-4-13 杜世伟 Lua

loadstring 通过加载一个符合lua语言规范的字符串 返回一个lua function,

例如:

local str = "print 'dushiwei.cn'"
local str = loadstring(str)
assert(str)()

local str = "print 'dushiwei.cn'"
local str = loadstring(str)
等价于 local script = function()
            print 'dushiwei.cn'
        end

 

assert函数:如果表达式出现错误,则触发一个错误,返回出错信息
assert首先检查第一个参数,若没问题,assert不做任何事情;否则,assert以第二个参数作为错误信息抛出。第二个参数是可选的
再加上一层的assert 表示对这个load到的结果进行一个非空判断,如果是正确的lua函数则返回函数本身

最后的一对括号表示对这个函数进行调用

 

 

标签: lua loadstring assert

Powered by emlog 沪ICP备2023034538号-1