- Lua 教程
- Lua - 首頁
- Lua 基礎
- Lua - 概述
- Lua - 環境
- Lua - 基本語法
- Lua - 註釋
- Lua - 列印 Hello World
- Lua - 變數
- Lua - 資料型別
- Lua - 運算子
- Lua - 迴圈
- Lua - 決策
- Lua - 函式
- Lua - 日期和時間
- Lua 陣列
- Lua - 陣列
- Lua - 多維陣列
- Lua - 陣列長度
- Lua - 遍歷陣列
- Lua 迭代器
- Lua - 迭代器
- Lua 列表
- Lua - 在列表中搜索
- Lua 模組
- Lua - 模組
- Lua - 名稱空間
- Lua 元表
- Lua - 元表
- Lua 協程
- Lua - 協程
- Lua 檔案處理
- Lua - 檔案 I/O
- Lua 庫
- Lua - 標準庫
- Lua - 數學庫
- Lua - 作業系統功能
- Lua 有用資源
- Lua - 快速指南
- Lua - 有用資源
- Lua - 討論
Lua - 基本語法
讓我們開始建立我們的第一個 Lua 程式!
第一個 Lua 程式
互動模式程式設計
Lua 提供了一種稱為互動模式的模式。在此模式下,您可以依次輸入指令並獲得即時結果。這可以透過在 shell 中使用 lua -i 或僅使用 lua 命令來呼叫。輸入此命令後,按 Enter 鍵,互動模式將啟動,如下所示。
$ lua -i $ Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio quit to end; cd, dir and edit also available
您可以使用以下語句列印內容:
print("test")
按 Enter 鍵後,您將獲得以下輸出:
test
預設模式程式設計
使用 Lua 檔名引數呼叫直譯器將開始執行該檔案,並持續到指令碼完成。指令碼完成後,直譯器將不再處於活動狀態。
讓我們編寫一個簡單的 Lua 程式。所有 Lua 檔案都將副檔名為 .lua。因此,將以下原始碼放入 test.lua 檔案中。
print("test")
假設 Lua 環境已正確設定,讓我們使用以下程式碼執行程式:
$ lua test.lua
我們將獲得以下輸出:
test
讓我們嘗試另一種執行 Lua 程式的方法。以下是修改後的 test.lua 檔案:
#!/usr/local/bin/lua
print("test")
這裡,我們假設您在 /usr/local/bin 目錄中提供了 Lua 直譯器。如果第一行以 # 符號開頭,則直譯器會忽略它。現在,嘗試按如下方式執行此程式:
$ chmod a+rx test.lua $./test.lua
我們將獲得以下輸出。
test
現在讓我們看看 Lua 程式的基本結構,以便您更容易理解 Lua 程式語言的基本構建塊。
Lua 中的標記
Lua 程式由各種標記組成,而標記可以是關鍵字、識別符號、常量、字串文字或符號。例如,以下 Lua 語句包含三個標記:
io.write("Hello world, from ",_VERSION,"!\n")
各個標記是:
io.write ( "Hello world, from ",_VERSION,"!\n" )
註釋
註釋就像 Lua 程式中的幫助文字,直譯器會忽略它們。它們以 --[[ 開頭,並以 --]] 結尾,如下所示:
--[[ my first program in Lua --]]
識別符號
Lua 識別符號是用於標識變數、函式或任何其他使用者定義專案的名稱。識別符號以字母“A 到 Z”或“a 到 z”或下劃線“_”開頭,後跟零個或多個字母、下劃線和數字(0 到 9)。
Lua 不允許在識別符號中使用諸如 @、$ 和 % 等標點符號。Lua 是一種區分大小寫的程式語言。因此,Manpower 和 manpower 在 Lua 中是兩個不同的識別符號。以下是一些可接受的識別符號示例:
mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal
關鍵字
以下列表顯示了 Lua 中的一些保留字。這些保留字不能用作常量或變數或任何其他識別符號名稱。
| and | break | do | else |
| elseif | end | false | for |
| function | if | in | local |
| nil | not | or | repeat |
| return | then | true | until |
| while |
Lua 中的空白字元
僅包含空白字元(可能還有註釋)的行稱為空行,Lua 直譯器會完全忽略它。
空白字元是 Lua 中用來描述空格、製表符、換行符和註釋的術語。空白字元將語句的一部分與另一部分隔開,並使直譯器能夠識別語句中一個元素(例如 int)的結束位置和下一個元素的開始位置。因此,在以下語句中:
local age
local 和 age 之間必須至少有一個空白字元(通常是空格),以便直譯器能夠區分它們。另一方面,在以下語句中:
fruit = apples + oranges --get the total fruit
fruit 和 = 之間,或 = 和 apples 之間不需要空白字元,儘管您可以根據可讀性隨意新增一些。