String 如何在lua中使用字符串作为变量名

String 如何在lua中使用字符串作为变量名,string,lua,love2d,String,Lua,Love2d,拜托,我有lua(love2d)的代码: 问题是,它发送字符串而不是纹理数据。 打印hh时,它会显示:_1_1_cell._2_2_grid.wall.texture,这是正确的,在直接使用而不是hh时有效。 所以问题是,如何转换字符串以使其加载我需要的内容? 谢谢。您可以使用\u G[str]进行以下操作: local t = _G['_'..rr..'_'..tt..'_cell']['_'..oo..'_'..pp..'_grid'].wall.texture 不过,我真的要重新考虑一下

拜托,我有lua(love2d)的代码:

问题是,它发送字符串而不是纹理数据。 打印hh时,它会显示:_1_1_cell._2_2_grid.wall.texture,这是正确的,在直接使用而不是hh时有效。 所以问题是,如何转换字符串以使其加载我需要的内容?
谢谢。

您可以使用
\u G[str]
进行以下操作:

local t = _G['_'..rr..'_'..tt..'_cell']['_'..oo..'_'..pp..'_grid'].wall.texture
不过,我真的要重新考虑一下存储数据的方式。正确使用数组将为您提供(类似于):

local t = _G['_'..rr..'_'..tt..'_cell']['_'..oo..'_'..pp..'_grid'].wall.texture
local cell = cells[rr][tt]
local grid = cell[oo][pp]
local texture = grid.wall.texture