教學範例 |
|
如果我們不帶參數執行 Lua 執行檔,將會收到以下訊息還有 >
命令提示字元。
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio >
教學的範例都會在命令提示字元 >
處鍵入,並會將輸出複製貼到 Wiki 中。
> print("hello Lua user") hello Lua user > print(10*10) 100
如果某行以 =
開頭,Lua 會將這行評估成一個指令項。這是使用 print()
函式的捷徑。注意這僅是互動式提示字元的特色,在實際的 Lua 指令碼檔中,以 =
開頭的陳述會產生語法錯誤。
> = "hello Lua user"
hello Lua user
> = 10*10
100
如果需要,我們可以在多行輸入命令。Lua 會嘗試評估你在給定的行中鍵入的內容,並評估目前的指令是否完整。如果 Lua 認為這個指令不完整,就會出現雙重命令提示字元 >>
,以提示你可以繼續鍵入。例如:
> print( >> "Hello lua user" >> ) Hello lua user
print(
陳述不完整,因為少了對應的閉合中括號。Lua 命令列會假設你還有更多內容要鍵入,於是顯示了 >>
提示字元。這會一直持續到這個陳述被視為完整為止。如果發生錯誤,你會看到錯誤訊息。這也適用於評估的捷徑。> = 10 * >> 10 + >> 5 105
如果你的程式很長、有許多程式碼,你不必每次都在 Lua 命令提示字元中全部輸入程式碼。你可以使用編輯器儲存你的 Lua 指令碼檔,然後以程式檔的名稱執行 Lua(不要在沒有參數的情況下啟動 Lua)。例如:如果你想要執行 my-lua-script.lua,就必須在 Shell 中輸入「lua my-lua-script.lua」(不用加引號),而不是在 Lua 命令提示字元中。這一點對這個教學並不必要,但如果你想要撰寫自己的程式,會很有用。
如果你看到「--
」後面跟著文字,那就是註解。在那一行中,--
之後的內容都會被 Lua 編譯器忽略。
> = 1+1 -- this is ignored.
2
> = 1+1 no comment
stdin:1: <eof> expected near `no'
注意:寫註解是好的行為,但你不需要鍵入註解!註解只是為了說明正在進行什麼事情,特別是為了其他維護人員了解(如果有)。
(如果你還不了解變數範圍或 local 關鍵字,你可以跳過這一段,繼續閱讀教學)
在互動式直譯器中,每一行命令都有自己的範圍,所以局部變數不會像你預期中那樣運作
> local x = 5 > = x nil
所以你必須在互動式直譯器中使用全域變數,才能保留要使用在其他行中的值。