使用变量作为表中键来调用值
2020-5-13 8:5:34
收藏:0
阅读:103
评论:1
在我的代码中,我试图编写一个脚本,你可以偷一辆车,将其送还,然后获得一定金额的报酬。我制作了一张表格,定义了每辆车可以得到多少报酬。我可以让键起作用,所以我的脚本可以识别汽车。
local cars = {
["panto"] = '5',
["oracle"] = '10',
["felon"] = '15',
["sentinel"] = '20',
["ratloader"] = '25',
["dune"] = '30',
["buccaneer"] = '35'
}
这是表格,然后我将其转换为:
local voertuigen = {}
for k,_ in pairs(cars) do
table.insert(voertuigen, k)
我是荷兰人,所以我使用一些荷兰语变量,可能有些混淆,仍在努力;)
voertuig = (voertuigen[math.random(1, #voertuigen)])
这部分写在一个if语句中,但这不是问题,当我尝试引用voertuig作为键时,由于它是存储键的变量,它不起作用;
salaris = cars.voertuig
当我试图自我排查时,我发现print(cars.oracle)(表中的一个键)可以使用,但当我使用
voertuig = oracle
print(cars.voertuig)
它会返回:
SCRIPT ERROR: @carjob/cj_client.lua:114: attempt to concatenate a nil value (upvalue 'voertuig')
我希望我提供了足够的代码让你理解,并希望你们中的一个人能帮助我。谢谢!
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- Lua 虚拟机加密load(string.dump(function)) 后执行失败问题如何解决
- 我想创建一个 Nginx 规则,禁止访问
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?

请注意字符串值和变量之间的区别。
local a = {"name"}a.name是a["name"]的语法糖。在你的例子中,
vertuig = oracle等同于vertuig = nil,因为oracle是一个nil值。cars.voertuig也是nil。因为你从未给cars["voertuig"]赋值。你想做的事情是:
vertuig = "oracle" print(cars[vertuig])其中
cars[vertuig]解析为cars["oracle"]请参考Lua手册,了解如何适当地索引表值。
voertuig = (voertuigen[math.random(1, #voertuigen)]) salaris = cars[voertuig]在可能的情况下,请使用局部变量。