首頁 »
2019/06/18

Lua個人問題集-io.read()和io.write()

以下是程式碼:

print[[You Die!]]

io.write("TRY AGAIN (Y/N)")
response = io.read()
if repsonse == "Y" then
   print[[ Good Bye!]]
else
   print[[ lol ]]
end

---------------------------------

結果:

arise@ArisePC:~/Documents/Coding/Lua/007-Project$ lua Goto.lua
You Die!
TRY AGAIN (Y/N)Y
 lol
arise@ArisePC:~/Documents/Coding/Lua/007-Project$ lua Goto.lua
You Die!
TRY AGAIN (Y/N)N
 lol
arise@ArisePC:~/Documents/Coding/Lua/007-Project$

如你所見,我想寫一個可以詢問玩家是否再玩的功能。這個例子是我從網路上找" Lua Card game " 關鍵字找到的程式碼 原本的網址點這裡。而我發現是,無論我輸入什麼,這功能都是失效的。
我大概搞了一兩天吧!因為剛學Lua,把很多以為是問題或是也許是問題的東西搞了好久,直到想到應該要像是以前寫excel程式一樣,把問題縮小Debug。搞清楚問題區塊之後,自己弄了一陣子,寫了可以有功能的東西出來。

以下是我自己寫的程式碼:

print[[You Die!]]

print("TRY AGAIN (Y/N)")
local response = io.read();
if response == "Y" then
   print[[ Good! bye! ]]
else
   print[[ lol ]]

end

-----------------------------

結果:

arise@ArisePC:~/Documents/Coding/Lua/007-Project$ lua Goto.lua
You Die!
TRY AGAIN (Y/N)
Y
 Good! bye!
arise@ArisePC:~/Documents/Coding/Lua/007-Project$ lua Goto.lua
You Die!
TRY AGAIN (Y/N)
N
 lol
arise@ArisePC:~/Documents/Coding/Lua/007-Project$

我把io.write()拿掉,改成直接print,似乎功能ok了,但我沒搞清出這兩者的差異。目前我還是對這個沒什麼想法,我想可能I/O功能得搞懂才能知道問題到底出在哪。lol

-------------------

20190701更新

後來就找出來問題到底在哪,結果不是IO功能哪裡有問題、也不是PRINT有多強,僅僅只是因為我的Response拼錯,上下兩個不一樣,所以當然不會有正確結果。lol

這個故事告訴我們,當事情出錯的時候,檢查所有的地方,尤其是那些你覺得絕對不可能有問題的位置。www

關鍵字: 故事 地方

Lua個人問題集-目錄文←上一篇 │首頁
本文引用網址: