Lua - 基本语法

让我们开始创建我们的第一个 Lua 程序!


第一个 Lua 程序

交互式编程

Lua 提供了一种称为交互模式的模式。 在这种模式下,您可以一个接一个地输入指令并获得即时结果。 这可以通过使用 lua -i 或仅使用 lua 命令在 shell 中调用。 输入此内容后,按 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 中的 tokens 标记

Lua 程序由各种 tokens 标记组成,标记可以是关键字、标识符、常量、字符串文字或符号。 例如,下面的 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 中的一些保留关键词。 这些保留关键词不能用作常量或变量或任何其他标识符名称。

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 之间不需要空格字符,但如果您希望出于可读性目的,可以随意包含一些空格字符。