教學範例

lua-users home
wiki

Lua 命令列

如果我們不帶參數執行 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(不要在沒有參數的情況下啟動 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

所以你必須在互動式直譯器中使用全域變數,才能保留要使用在其他行中的值。


近期變更 · 偏好設定
編輯 · 記錄
最後編輯 2013 年 8 月 9 日上午 11:13 GMT (diff)