我想做的是从数组中打印随机元素,以下是示例代码:
myTable = { "one", "two", "three","four"}
- 在这里打印:一,三,四
答案 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
如果您请求的元素多于表中的元素,则代码将会出错。如果您想稍后重用该表,则必须复制它,因为此代码实际上从表中删除了元素。