random - 从表中选择一个随机项目

标签 random lua

我的目标是从 Lua 的表格中随机挑选出一个项目。

这是我到目前为止所得到的,但它目前不起作用:

local myTable = { 'a', 'b', 'c', 'd' }
print( myTable[ math.random( 0, #myTable - 1 ) ] )

如何修复上述代码以使其按预期工作? (或者我可以使用其他哪种方法?)

最佳答案

Lua 从 1 开始索引表,不像 C、Java 等从 0 开始索引数组。这意味着,在您的表中,有效索引是:1、2、3、4。您正在寻找的是以下内容:

print( myTable[ math.random( #myTable ) ] )

当使用一个参数调用时,math.random(n)返回一个从 1 到 n 的随机整数包含。

关于random - 从表中选择一个随机项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2988246/

相关文章:

Java While 循环不执行

c - RtlGenRandom/CryptGenRandom 或其他 WinAPI 以生成加密安全随机数(2018 年第一季度)

r - 在 R 中生成 3 个总和为 1 的随机数

function - 函数内的全局 require 和局部 require 之间有区别吗

c - Lua - 重置脚本状态而不修复它

c++ - lua_register C++ 的问题

ios - Sprite 在随机位置移动一次

C - 相当于 Lua 的 math.rad

json - Lua 对象列表

algorithm - 调用 Random(0, 1) 生成 Random(a, b)