使用代码:
function createNewBody(name,mass)
if not world.body[name]==nil then
print("This body has already been created. Maybe you meant to update it's values?\n")
else
world.body[name]={mass=m,x=0,y=0,xAccel=0,yAccel=0,xR=0,yR=0,properties={gaseous=false,texture=""}}
world.bodies=world.bodies+1
end
end
此代码没有显示任何错误,但是当我将 createNewBody(moon,1.622) 绑定(bind)到一个 key 然后使用它时,它可以让我向该 key 发送垃圾邮件而不显示错误消息。
而且,是的,我已经定义了 world.bodies
和 world.body
最佳答案
not world.body[name]==nil
被解析为 (not world.body[name])==nil
。由于 not
的结果是 bool 值,因此它永远不会 nil
。
尝试 not(world.body[name]==nil)
或 world.body[name]~=nil
。
关于lua - 检查表是否已创建不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35234011/