lua 脚本o=o or 是什么意思
2个回答
展开全部
问题没有打全,应该是问“o = o or {}”
这个一般出现在一个函数的开头:
function Account:new (o)
o = o or {} -- create object if user does not provide one
setmetatable(o, self)
self.__index = self
return o
end
对于这种比较基础的问题,建议去看《Lua Programming Language》这本书,Lua新手能看的也就这个。有中文版的。
这个问题在这本书的第三章(3.3逻辑运算符)提到了:
一个很实用的技巧:如果x为false或者nil则给x赋初始值v
x = x or v
等价于:
if not x then
x = v
end
综上:o = o or {} 就是如果 o 为 false 或 nil ,则 o ={ } (空表)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询