通过使用Python,我们可以将字符串重新定义为字典。
示例:
var = "testing"
var = {'body': var}
print var['body']
'testing'
Lua我想做同样的事。我想将字符串对象转换为表格。
我的尝试:
> var = "testing"
> var = {'body', var}
> print(var)
table: 0x12b2930
> for i,j in pairs(var) do
>> print(i)
>> print(j)
>> end
1
body
2
testing
>
通过上面的例子,我可以用
获取测试字符串> print(var[2])
testing
>
以上代码无法满足我的要求。我想用'testing'
键存储值"body"
我想获取如下:
print(var['body'])
'testing'
请帮我解决这个问题
答案 0 :(得分:6)
var = "testing"
var = {body = var}
print(var.body)
print(var["body"])
表构造中的逗号分隔表条目。因此,通过指定{"body", "testing"}
,您可以创建两个条目,其中键1,2分别等于“body”和“testing”,因为这是初始化顺序数组的方式。
如果要为每个值分配任意键,则必须使用=
,如{key1 = "body", key2 = "testing"}
中所示。现在,您可以通过两种方式访问这些元素。一个是对象,使用点:
tab1.key1
一个是数组/地图,使用方括号:
tab1["key1"]
。
在第二个例子中,你必须注意引号。如果您使用双引号,则直接访问密钥。如果不是(tab1[key1]
),则使用存储在名为key1
的变量中的值作为键说明符。
答案 1 :(得分:3)
最接近Python代码的Lua代码是
var = "testing"
var = {['body'] = var}
print(var['body'])