2013-11-03 96 views
3

我的控制語句有問題。我剛開始編程。控制問題


math.randomseed(os.time()) 
answers = { 
123, 
132, 
231, 
213, 
321, 
312 
} 
outcomes = (answers[ math.random(#answers) ]) 
print("What is your first guess?") 
io.write("Guess#1: \n") 
g1 = io.read() 
onetwothree() 
function onetwothree() 
if o = 123 and g1 = 321 then 
print("You have no numbers correct") 
end 
end 

os.execute("PAUSE") 

當我跑在我的IDE代碼,它會顯示這樣的:

>lua -e "io.stdout:setvbuf 'no'" "Mastermind.lua" 
lua: Mastermind.lua:25: 'then' expected near '=' 
>Exit code: 1 

順便說一句,25行,在我的代碼是這樣的:

if o = 123 and g1 = 321 then 

我該如何解決這個問題以及發生了什麼。

+1

瞭解如何正確地縮進代碼。它會爲您節省多於一個頭痛!此外,在SO上張貼嚴重縮進的代碼給人的印象是你很懶,許多SO用戶避免回答被認爲是懶惰的人。 –

+0

'onetwothree()'在它被定義之前被調用 –

回答

5

問題是您使用=進行比較而不是==

更改條件:

if o == 123 and g1 == 321 then