lua - Nil Val 固定 rhx
问题描述
我正在使用 FiveM 中的脚本,当服务器启动时,我在控制台中收到“尝试调用零值(本地'cb')”作为错误。请参阅下面的代码,讨论 nil 值为 cb(nil)。
AddEventHandler("f:getPlayer", function(user, cb)
if(Users)then
if(Users[user])then
cb(Users[user])
else
cb(nil)
end
else
cb(nil)
end
end)
所以我发现了一篇关于在“if(Users)then”中添加“and cb”的帖子,所以代码看起来像这样。
AddEventHandler("f:getPlayer", function(user, cb)
if(Users and cb)then
if(Users[user])then
cb(Users[user])
else
cb(nil)
end
else
cb(nil)
end
end)
但这并没有解决问题。
结果是让错误消失。
解决方案
所以我发现了一篇关于在“if(Users)then”中添加“and cb”的帖子,所以代码看起来像这样。
这是正确的。但是即使变量“cb”不包含它,您也可以在代码中调用功能对象。
你的代码应该是这样的:
AddEventHandler("f:getPlayer", function(user, cb)
if cb then
if Users then
cb(Users[user])
else
cb(nil)
end
end
end)
与:
AddEventHandler(
"f:getPlayer",
function(user, cb)
if cb then
cb(Users and Users[user] or nil)
end
end
)
推荐阅读
- javascript - React:在搜索框中过滤
- ios - 如何取消转移的 iOS 应用程序?
- terminal - 如何解决 cygwin 和我的 RStudio 终端之间的问题?
- java - 有些记录没有插入到数据库表中
- python-3.x - 如何遍历数据集的整行并填充附加列?
- regex - 是否可以在语法 nqp 中运行子语法?
- laravel - API 资源中的条件加载数据:如何“通过”条件?
- javascript - 每次单击列表时删除 X 项上的隐藏类
- python - 如何在 Django Model 的一个模型类中使用或继承 2 个模型类字段?
- javascript - Electron 作为 Web 应用程序