如何将字符串转换为表格

时间:2011-11-01 09:57:25

标签: string lua lua-table

例如我加载了一个模块,该模块中有一个名为“Table1”的表。在主文件中,我有一个表,我希望它是“Table1”的完全相同的副本。 如果我只有该表的名称,我怎么能这样做呢。 当我试图这样做时

str = "Table1"  
t = str

我显然得到一个字符串而不是表格,那么如何才能获得表格内容的表格内容?我想要的是能够以某种方式制作这行代码

t = 'Table1'

与此相等

t = Table1

2 个答案:

答案 0 :(得分:2)

如果str是全局变量的名称,请使用_G[str]获取其值。

答案 1 :(得分:2)

Lua中的表是一种非常灵活且重要的数据类型。这么多,甚至模块都是表格。如果您知道,模块中有一个给定名称的表,并且您在变量中有它的名称,只需使用[]运算符来获取该表:

tablename = 'Table1' -- you get this from somewhere, assuming it's not fixed

require 'mymodule'
t = mymodule[tablename]

但是,这不是一个非常好的方法,因为它假定您“知道”模块包含给定名称的表。您始终可以设计将按给定标准名称导出表的模块(不会更改):

require 'mymodule'
t = mymodule.Table1 -- equivalent to mymodule['Table1']
相关问题