将字符串转换为表数据类型

时间:2016-02-29 23:45:40

标签: lua lua-table

我有一些代码,我希望它从列表中选择一个随机字符串并将其转换为要在joypad.set()函数中使用的数据类型。 这是我的代码:

Buttons = { A = true,
        B = true,
        Down = true}
while (true) do
   Random = math.random(3)
   NewButton = (Buttons[Random])
   joypad.set(1, (NewButton))
   emu.frameadvance();
end;

1 个答案:

答案 0 :(得分:3)

您没有说明您的问题,但是从您的代码中看,您似乎没有从您期望的数组中获取值。您获得1到3之间的随机数,但A,B和Down 1,2和3.按钮是一种关联数组(键值对)的方式你声明它,所以如果你想以这种方式使用它,你需要设置一个只包含键名的第二个数组,并从中得到一个随机索引,如下所示:

ButtonKeys = { "A", "B", "Down" }
Random = math.random(3)
NewButton = (Buttons[ButtonKeys[Random]])

这将创建一个值为A,B和Down的表作为索引1,2和3,因此您使用随机数从ButtonKeys数组中获取值,然后使用该值作为索引按钮阵列。

编辑:我重新阅读了这个问题并重复了我的原始答案,并意识到我在想你以不同的方式宣布这个表格。声明表A,B和Down的方式成为按钮的属性,您可以通过直接调用它们来访问它们,如Buttons.AButtons.BButtons.C,或使用括号使用您要访问的属性的字符串名称。在您的情况下,Buttons["A"]Buttons["B"]Buttons["Down"]