我正在制作一个随机字生成器,而且我遇到了一个小问题。我正在尝试从包含closedLetters(c,d,f等)的表中打印值,但它不起作用。它返回零。帮助
local closedLetters={b, c, d, f, g, h, j, k, l, m, n, p, q, r, s, t, v, w, x, z}
local openLetters={a, e, i, o, u, y}
print(closedLetters[2])
(那段代码只是一个例子,我设置的实际上更像是这样)
local closedLetters={b, c, d, f, g, h, j, k, l, m, n, p, q, r, s, t, v, w, x, z}
local openLetters={a, e, i, o, u, y}
print(closedLetters[math.random(#closedLetters)]..openLetters[math.random(#openLetters)])
答案 0 :(得分:5)
该表中只有一堆键。具有nil值的键,因此您的返回值。 改为使它们成为文字: closedLetters = {'a','b',.....}
答案 1 :(得分:2)
为了补充Eyeball的答案,您可以只生成closedLetters
和openLetters
个实际字符串。然后,您可以使用string.sub
来访问它们:
local closedLetters = "bcdfghjklmnpqrstvwxz"
local openLetters = "aeiouy"
local letter1, letter2 = math.random(#closedLetters), math.random(#openLetters)
print(closedLetters:sub(letter1, letter1) .. openLetters:sub(letter2, letter2) )