使用Lua从数组中打印随机元素

时间:2016-02-14 06:55:18

标签: arrays lua

我想做的是从数组中打印随机元素,以下是示例代码:

myTable = { "one", "two", "three","four"}

- 在这里打印:一,三,四

2 个答案:

答案 0 :(得分:1)

打印随机元素很简单 - print(myTable[math.random(#myTable)]) - 但是如果您需要使每个打印元素都是唯一的,那么您最好将数组中的元素随机播放并逐个打印生成的元素。您可以查看此SO answer以获取相关提示。

答案 1 :(得分:1)

如果你想要N个元素,你需要使用循环:

local myTable = { "one", "two", "three","four"}
local result = {}
for i=1,3 do -- N here, e.g 3 if you want 3 elements
    result[i] = table.remove(myTable,math.random(#myTable))
end
print(table.concat(result,", "))
-- "four, two, three" as an example

如果您请求的元素多于表中的元素,则代码将会出错。如果您想稍后重用该表,则必须复制它,因为此代码实际上从表中删除了元素。