2013-07-07 109 views
2

我正在製作一個隨機的單詞生成器,而且我遇到了一個小問題。我試圖從持有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)]) 

回答

5

你只有一堆在該表的鍵。具有零值的鍵,因此是您的返回值。 讓他們來代替文字: closedLetters = { 'A', 'B',......}

2

爲了補充眼球的答案,你可以讓closedLettersopenLetters實際字符串。然後,您可以使用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)) 
+0

這是真棒,和OFC方便。但是,因爲盧阿的'一切都是桌子'。我認爲我們的解決方案基本上是一樣的:) – Eyeball

+0

@Eyeball實際上字符串不是引擎蓋下的表格。表是可變的,字符串不是。 – greatwolf

+0

I c。涼。感謝您的照明:) – Eyeball