检查表是否已创建不起作用

时间:2016-02-05 21:39:49

标签: lua love2d

使用代码:

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(月亮,1.622)绑定到某个密钥然后使用它时,它会让我发送密钥而不显示错误消息。

而且,是的,我定义了world.bodiesworld.body

1 个答案:

答案 0 :(得分:2)

not world.body[name]==nil被解析为(not world.body[name])==nil。由于not的结果是布尔值,因此它永远不会是nil

尝试not(world.body[name]==nil)world.body[name]~=nil