Basic_syntax-Lua专题

基本语法

Lua 学起来非常简单。现在,让我们开始创建我们的第一个 Lua 程序吧!

第一个 Lua 程序

Lua 提供交互式编程模式。在这个模式下,你可以一条一条地输入命令,然后立即就可以得到结果。你可以在 shell 中使用 lua -i 或者 lua 命令启动。输入命令后,按下回车键,就启动了交互模式,显示如下:

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

这里,我们假设你的 Lua 解释器程序在 /usr/local/bin/lua 目录下。test.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 程序中的帮助文档,Lua 解释器会自动忽略它们。所有注释都以 --[[ 开始,并以 --]]结束。如下所示:

--[[ my first program in Lua --]]

标识符

Lua 中标识符是识别变量、函数或者其它用户自定义项的名字。标符识总是以字母或者下划线开始,其后可以是零个或多个字母、下划线或数字。
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 解释器将完全忽略这一行。
在 Lua 中,空白是用来描述空格、制表符、换行符和注释的术语。空白符用于将语句中的一部分与其它部分区分开,使得解释器可以语句中的一个元素,比如 int,何处结束,以及另一个元素从何处开始。因此,在下面的语句中:

local age

在 local 与 age 之间至少有一个空白符(通常是空格),这个空白符使得解释器可以将 local 与 age 区分开。另一方面,在下面的语句中:

fruit = apples + oranges   --get the total fruit

fruit 与 = 之间以及 = 与 apples 之间的空白符都是可以没有的。但是为了程序的可读性目的,建议你在它们之间使用空白符。


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除