今天我们来进行Lua语法全面剖析。
由于篇幅过长,将分为上中下三篇进行讲解,本篇为上篇。
1.初识Lua
Lua 是一种轻量小巧的脚本语言,它用标准C语言编写并以源代码形式开放。这意味着什么呢?这意味着Lua虚拟机可以很方便的嵌入别的程序里,从而为应用程序提供灵活的扩展和定制功能。而整个Lua虚拟机编译后仅仅一百余K,经过适当的裁剪还能做到更小,十分适合嵌入式的开发。
同时,在目前脚本引擎中,Lua的运行速度占有绝对优势。这些都决定了Lua是作为嵌入式脚本的最佳选择。
在我们编写代码之前,需要做一下准备,就是:确保你输入标点符号时,用的不是中文输入法。
2.第一个Lua程序
几乎所有语言的第一行代码,都是输出hello world
,本教程也不意外。
在Lua
中,打印结果只需要使用print
这个函数
即可。同时,如果需要使用函数
,只需要在函数名后加上双括号,同时传入你想传入的值即可。
所以,我们来执行下面的代码,打印出hello world
吧!
print("hello world!")
3.输出数据
上一部分,我们知道了,在Lua
中,可以使用print
函数来打印你想要得到的结果。
并且还知道了,函数
是指可以实现某些功能的子程序,可以使用函数名(参数)
来执行。
让我们试着输出一些其他东西吧!使用多个print函数,输出自己想输出的数据。
print("测试")
print("aabcdefg")
print("xxxxx","第二个参数","第三个参数")
4.代码注释
代码注释
就是在代码里,不会运行的部分。注释
完全不会被运行。
这部分是为了在查看代码时,可以更好地立即现有代码含义用的。
我们可以用--
开头,来写一段单行注释
也可以用--[[
开头,]]
结尾,写一段多行注释。
下面是注释的例子:
print("这段代码会运行")
--print("我被注释掉了,所以不会运行")
--[[
我是多行注释
不管我写多少行
都不会影响代码运行
]]
5.变量
5.1 number变量
变量,可以看作是一个桶,在里面装你想要装的内容。这些内容可以是Lua包含的所有合法类型。
例如:我想要新建一个桶,名叫bucket,在里面放入233这个数字,就可以像下面一样:
bucket = 233
让我们试着自己新建几个变量吧!
-
新建变量year,并将变量的值设置为1926
-
新建变量month,并将变量的值设置为8
-
新建变量day,并将变量的值设置为7
--新建三个变量,并赋值
year = 1926
month = 8
day = 7
--打印出三个变量的值
print(year,month,day)
5.2 了解nil
nil类型表示没有任何有效值,只要是没有声明的值,它就是nil
比如我打印一个没有声明的值,便会输出nil:
ccc = 233
print(ccc)
print(aaa)
这里需要你思考一下,运行以下代码,将会输出什么结果?
a =1
b = '2'
c = a
print(a,b,c,d)
5.3 赋值语句
赋值是改变一个变量值的最基本的方法。
如下面一样,使用等号对左边的变量进行赋值
n = 2
n = 3
n = n + 1
b = n
Lua可以对多个变量同时赋值,变量用逗号分开,赋值语句右边的值会依次赋给左边的变量。
n = 1
a, b = 10, 2*n
当左右值的数量不一致时,Lua会进行下面的设定:
-
变量个数 > 值的个数:按变量个数补足nil
-
变量个数 < 值的个数:多余的值会被忽略
下面的例子可以展示这种设定:
a, b, c = 0, 1
print(a,b,c)
--输出0 1 nil
a, b = a+1, b+1, b+2
print(a,b)
--输出1 2
a, b, c = 0
print(a,b,c)
--输出0 nil nil
这里需要你思考一下,运行以下代码,将会输出什么结果?
a,b,c = 1,2,3
a,c = a+1,b
d = c,b
print(a,b,c,d)
5.4 交换变量
这部分需要你自己完成一个任务:
已知下面的代码,并且已知a
和b
的值,请在交换他们的值,使打印输出12 34
a = 34
b = 12
--你需要在这里进行交换变量的操作
--提示:新建一个变量来存放临时的值
print(a,b)
5.5 输出变量
我们已经知道了,在Lua中,可以使用print函数来打印你想要得到的结果。
同时在上一节,我们学会了新建变量和设置变量的值。
让我们试着输出某个变量吧!使用print函数
,输出已知变量。 我们已知变量num
为某个数字,试着输出它的值吧!
num = 123
--请补全代码,输出num的值
print(你要在这里填东西)
5.6 算数运算符
运算符是一个特殊的符号,用于告诉解释器执行特定的数学或逻辑运算。
上一节中,新建的数字变量,我们称之为number类型的变量。
本节我们来学习使用算术运算符,如下所示:
+ 加法
- 减法
* 乘法
/ 除法
% 取余,求出除法的余数
^ 乘幂,计算次方
- 负号,取负值
我们可以通过以下实例来理解算术运算符的应用:
a = 21
b = 10
c = a + b
print('a + b 的值为 ', c )
c = a - b
print('a - b 的值为 ', c )
c = a * b
print('a * b 的值为 ', c )
c = a / b
print('a / b 的值为 ', c )
c = a % b
print('a % b 的值为 ', c )
c = a^2
print('a^2 的值为 ', c )
c = -a
print('-a 的值为 ', c )
c = a * (b - a)
print('a * (b - a) 的值为 ', c )
你需要完成下面的任务:
已知,一个长方体的长宽高分别为a、b、c(单位米),且这个物体重量为m(单位克)
请打印出物体的密度(单位g/m³)
注:密度计算公式 密度 = 质量 / 体积
a,b,c = 1,2,3 --长宽高
m = 10 --重量
--请打印出物体的密度
关注博主,陆续发布中下篇