我看到您的代碼有幾個問題。
首先,True
和False
都是毫無意義的名字 - 它,除非你有以前分配,這對他們,都等於nil
。因此,您的Yes
和No
變量都被設置爲nil
爲好。這不是因爲lua中不存在真假 - 它們只是小寫:true
和false
。創建Yes
和No
變量是多餘的,很難讀 - 只使用true
和false
直接。
其次,如果您使用從他們的網站下載的標準lua,sleep
是不是一個有效的功能(儘管它在Lua的Roblox版本,或者我聽說過)。與大寫True
和False
一樣,默認情況下,睡眠爲nil
,因此調用它將不起作用。根據您運行的是什麼,如果您使用的是mac,則需要使用os.execute("sleep " .. number_of_seconds)
;如果使用的是PC,則需要使用os.execute("timeout /t " .. number_of_seconds)
。您可能需要這些包裝成一個function
function my_sleep_mac(number_of_seconds)
os.execute("sleep " .. number_of_seconds)
end
function my_sleep_PC(number_of_seconds)
os.execute("timeout /t " .. number_of_seconds)
end
至於您所遇到的特定錯誤,我認爲這是由於您的end
語句作爲你的程序的結束。 lua中的end
並不完全符合您的想法 - 它沒有指定程序的結束。 Lua可以通過查看文件中是否存在任何文本來確定程序結束的位置。它有什麼想不通的,沒有你說這就是代碼末尾的各種子塊,IE的if
陳述,function
S,等等。例如樹枝,假設你寫的代碼
print("checking x...")
if x == 2 then
print("x is 2")
print("Isn't it awesome that x is 2?")
print("x was checked")
lua有沒有辦法知道是否最後一條語句,打印x
被檢查,應該只發生在x
爲2或始終。因此,您需要明確說明代碼的各個部分何時結束,爲此您使用end
。但對於文件來說,這是不必要的,而且實際上會導致錯誤。這裏的if
語句引入end
print("checking x...")
if x == 2 then
print("x is 2")
print("isn't it awesome that x is 2?")
end
print("x was checked")
雖然盧阿並不關心,這是一個非常好的主意,縮進這些代碼段,這樣就可以一眼看出它開始和結束:
print("checking x...")
if x == 2 then
print("x is 2")
print("isn't it awesome that x is 2?")
end
print("x was checked")
與問候你的「引擎收錄」的問題,你將有更加具體。
你是「業餘」的程序員,但你*進行操作系統*慢下來?如果你甚至無法理解語法上正確的Lua(這在語法上不正確),那麼從製作操作系統來說,你就是一個很長的路要走。 – 2013-04-25 04:30:46
它是一個alpha。另外,我明白這一點。我在一步一步地教自己。 – TwitchyCake 2013-04-26 00:01:26