Lua环境安装与基本语法指南:从Windows到Linux/Mac的详细教程

Part 2 Lua的环境安装与基本语法

Lua环境安装与基本语法指南:从Windows到Linux/Mac的详细教程

(1)环境安装

Windows:

Windows 上的安装有多种可供选择的 IDE。其中一种是 SciTE,它可以在 github 上进行下载;还有 LuaDist,可通过官方进行下载;其他的还有 ZeroBraneStudio 等。

Linux:

下载源码包并在终端解压编译即可,在终端执行:

curl -R -O

tar zxf lua-5.3.0.tar.gz

cd lua-5.3.0

make linux test

make install

Mac 与 Linux 有相似之处,只要把“linux”改成“macosx”就可以了。

(2)变量

Lua的内容并不多,它是基于我们学过的 C 来开发的。所以,它上手比较简单。就我个人的使用体验来说,我觉得 Lua 和 python 有较多相似之处。因此,了解过 python 的同学应该能很容易地理解下面的内容。接下来,我会最简洁地阐述一下 Lua 的基本语法。

Lua 是一种动态语言。它运行程序的方式与 python 相似,既可以进行脚本式编程,这种方式类似于我们所熟悉的 C 语言的编程方式;也可以进行交互式编程。在 Windows 系统下,我们可以在命令行输入 lua 来进入交互式界面,如下所示:

Lua 的基本数据类型包含:nil、布尔值、数字、字符串、用户数据、函数、线程和表。布尔值、数字、函数容易理解,不需要过多的解释。function 表示函数。

nil 是为空值的。这种数据类型只有空值这一个变量值。它一般用来表示非法的操作。比如,若你定义了一个局部变量,而在该部分之外去调用这个变量时,就会发现该变量为 nil。

字符串用 string 表示,它和 python 类似,Lua 在变量里对字符和字符串的区分不严格,能用单引号或双引号来表示,像'hello,world'或者"5"之类的。值得一提的是,Lua 中的字符串有个特点与 C 和 python 都不一样,那就是不能直接通过索引去访问字符。换句话说,string_name[n]这种表示所返回的并非字符,而是空值 nil。那么究竟该怎样对字符串进行操作呢?实际上,在 Lua 中提供了诸多字符串的方法,以满足我们的需求。

table 是一种比较有趣的数据类型。在 C++的 STL 库中,它类似于 map;在 python 中,它类似于字典(dict)。简单来讲,table 就是一个键(key)与值(value)相对应的表格。键可以是任何非空(nil)的值,而对值没有限制。一个 key 所对应的 value 是具有唯一性的,然而不同的 key 所对应的 value 却能够相同。关于具体的使用情况,会在后面进一步进行介绍。

线程被称作 thread,用户自定义类型被称作 userdata,这两种类型不做进一步的介绍。

在 Lua 中,变量的声明和赋值与 Python 较为相似。变量不会被限定于特定的类型。例如:

a=1 --定义变量a,值为1(number)

a='123' --把a的值赋为'123'(string)

Lua支持多变量赋值,如:

a,b=1,2 --等价于a=1;b=2

多变量赋值是先把右边的所有值都计算出来,然后再进行赋值。因此,它可以很容易地实现交换操作:

a,b=b,a

Lua中的变量情况与 Python 不同,Lua 中若变量未加说明,那么其默认是全局变量,而局部变量需要用修饰词 local 来标识。

table的定义可以采用系统给定的默认构造器{}。即:

Table={} --定义table类型变量Table

在 Table 中,定义索引为'6hg'所对应的值为 true 。

另外,在 Lua 中,相同类型的变量能够组合成数组。数组既可以是一维的,也可以是多维的,通过索引来进行访问。需要特别指出的是,数组的索引起始值是 1。例如:

a={4,5,6} --定义数组a

print(a[1]) --输出数组a的索引1的值4

print(a[0]) --输出nil,非法访问

(3)条件语句和循环语句

在 Lua 中,只有 false 和 nil 被认为是逻辑假,其他的情况都是逻辑真。所以,0 是逻辑真的值。

条件语句:

if else语句:

if (布尔表达式)

then

--执行的语句

else

--执行的语句

end

注意用缩进来表示语句块

也可省略else部分退化为if语句

循环语句:

while循环:

while(布尔表达式)

do

--执行的语句

end

for循环:

for (begin,final,foot)

--执行的语句

end

这里起始值为循环变量的开始值,终止值为循环变量的结束值,步长为变化的幅度(若省略则默认为 1),用 C 语言中的 for 循环来表示就是:for(int i = 起始值; i < 终止值; i += 步长)

你可能想看:
« 上一篇
下一篇 »

相关推荐

python爬虫教程PDF,Python爬虫书PDF

2026年09月02日

31阅读

外国教程python,python编程教学视频

2026年09月02日

25阅读

python简明教程沈洁元,python详细基础教程

2026年09月02日

21阅读

python库包教程,python 包

2026年09月02日

27阅读

python教程大全集,python教程600集

2026年09月02日

26阅读

python入门教程完整版,python零基础入门全套教程视频

2026年09月02日

22阅读