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")

一旦你按下回车键,你将得到以下输出 -

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 是一种区分大小写的编程语言。因此Manpowermanpower在Lua中是两个不同的标识符。以下是可接受的标识符的一些示例 -

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

关键词

下面的列表显示了 Lua 中的一些保留字。这些保留字不得用作常量或变量或任何其他标识符名称。

休息 别的
否则 结尾 错误的 为了
功能 如果 当地的
不是 或者 重复
返回 然后 真的 直到
尽管

Lua 中的空白

只包含空格(可能带有注释)的行被称为空行,Lua 解释器完全忽略它。

空白是 Lua 中用来描述空白、制表符、换行符和注释的术语。空格将语句的一部分与另一部分分隔开,并使解释器能够识别语句中一个元素(例如 int)的结束位置和下一个元素的开始位置。因此,在以下声明中 -

local age

local 和 Age 之间必须至少有一个空白字符(通常是空格),以便解释器能够区分它们。另一方面,在以下声明中 -

fruit = apples + oranges   --get the total fruit

水果和 = 之间或 = 和苹果之间不需要空格字符,但如果您希望出于可读性目的,可以自由地包含一些空格字符。