如何通过字符串变量索引Lua嵌套表获取指定元素?
问题解答
可以通过字符串变量input获取值1,正确写法就是table[input][1],你遇到报错大概率是因为变量名table和Lua内置的table库重名,引发了冲突。
修正后的代码示例
-- 更换为不与内置库冲突的变量名 my_table = {a = {1, 2}, b = {3, 4}} input = "a" -- 字符串类型的键名 local target_value = my_table[input][1] print(target_value) -- 输出结果:1
关键说明
- Lua中访问表元素有两种方式:
.用于固定的标识符键(比如my_table.a),[]用于动态的变量或字符串键(比如my_table[input]),两者逻辑等价。 - 绝对不要用Lua的内置关键字、库名作为自定义变量名(比如
table、string、function等),这会覆盖内置功能,导致各种意外错误。
内容的提问来源于stack exchange,提问作者Revise
相关产品推荐
相关产品推荐

