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

标签 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(moon,1.622) 绑定(bind)到一个 key 然后使用它时,它可以让我向该 key 发送垃圾邮件而不显示错误消息。

而且,是的,我已经定义了 world.bodiesworld.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/

相关文章:

lua - 通过命令行发送 ctrl-c 时如何在 lua 中捕获 ctrl-c

Lua类对象?

oop - Love2D(Lua)中的面向对象编程

love2d - 执行 Love2D 脚本

sorting - 在 lua 中实现表以访问特定部分供以后使用

c++ - lua + 视觉 C++ 2008 : fatal error LNK1107

lua - 是否可以防止对象在 Corona SDK 中旋转?

lua - 如何从 Google Colab 运行 lua ML 模型

lua - Love2D、LUA Tween 重置

arrays - 使用 Lua 表作为二维数组