- 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 之间不需要空白字符,尽管您可以根据可读性随意添加一些。