Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何将字符串转换为表_String_Lua_Lua Table - Fatal编程技术网

String 如何将字符串转换为表

String 如何将字符串转换为表,string,lua,lua-table,String,Lua,Lua Table,例如,我加载了一个模块,该模块中有一个名为“Table1”的表。在主文件中,我有一个表,我希望它与“Table1”完全相同。 所以,如果我只有那个表的名称,我该怎么做呢。 当我试着这样做的时候 str = "Table1" t = str 很明显,我得到的是一个字符串而不是表,那么我如何才能得到一个表内容,即表内容呢?我想要的是能够以某种方式生成这行代码 t = 'Table1' 与这个相等 t = Table1 如果str是全局变量的名称,请使用\u G[str]获取其值。Lua中的

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

str = "Table1"  
t = str
很明显,我得到的是一个字符串而不是表,那么我如何才能得到一个表内容,即表内容呢?我想要的是能够以某种方式生成这行代码

t = 'Table1'
与这个相等

t = Table1

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

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']