同时,在目前脚本引擎中,Lua的运行速度占有绝对优势。这些都决定了Lua是作为嵌入式脚本的最佳选择。
在我们编写代码之前,需要做一下准备,就是:确保你输入标点符号时,用的不是中文输入法。
第一个 Lua 程序
几乎所有语言的第一行代码,都是输出hello world
,本教程也不意外。
在Lua
中,打印结果只需要使用print
这个函数
即可。同时,如果需要使用函数
,只需要在函数名后加上双括号,同时传入你想传入的值即可。
所以,我们来执行下面的代码,打印出hello world
吧!
print("hello world!")
输出数据
上一部分,我们知道了,在Lua
中,可以使用print
函数来打印你想要得到的结果。
并且还知道了,函数
是指可以实现某些功能的子程序,可以使用函数名(参数)
来执行。
让我们试着输出一些其他东西吧!使用多个print函数,输出自己想输出的数据。
print("测试")
print("aabcdefg")
print("xxxxx","第二个参数","第三个参数")
注释
就是在代码里,不会运行的部分。注释
完全不会被运行。这部分是为了在查看代码时,可以更好地立即现有代码含义用的。
我们可以用--
开头,来写一段单行注释
也可以用--[[
开头,]]
结尾,写一段多行注释。
下面是注释的例子:
print("这段代码会运行")
--print("我被注释掉了,所以不会运行")
--[[ 我是多行注释 不管我写多少行 都不会影响代码运行
]]
变量
,可以看作是一个桶,在里面装你想要装的内容。这些内容可以是Lua包含的所有合法类型。例如:我想要新建一个桶,名叫bucket,在里面放入233这个数字,就可以像下面一样:
bucket = 233
让我们试着自己新建几个变量吧!
--新建三个变量,并赋值
year = 1926
month = 8
day = 7
--打印出三个变量的值
print(year,month,day)
nil
类型表示没有任何有效值,只要是没有声明的值,它就是nil
nil
:ccc = 233
print(ccc)
print(aaa)
这里需要你思考一下,运行以下代码,将会输出什么结果?
a = 1
b = '2'
c = a
print(a,b,c,d)
赋值
是改变一个变量值的最基本的方法。等号
对左边
的变量
进行赋值n = 2
n = 3
n = n + 1
b = n
Lua
可以对多个变量同时赋值,变量用逗号
分开,赋值
语句右边的值
会依次赋给左边的变量
。
n = 1
a, b = 10, 2*n
当左右值的数量不一致时,Lua会进行下面的设定:
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)
a
和b
的值,请在交换他们的值,使打印输出12 34
a = 34
b = 12 --你需要在这里进行交换变量的操作
--提示:新建一个变量来存放临时的值 print(a,b)
print函数
,输出已知变量。 我们已知变量num
为某个数字,试着输出它的值吧!num = 123
--请补全代码,输出num的值
print(你要在这里填东西)
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 --重量
--请打印出物体的密度
字符串
(即string
),就是一串文本数据,可以存储你要的文本。print
出的数据就是一个字符串。--双引号间的一串字符
str1 = "Lua"
--单引号间的一串字符
str2 = 'Lua'
--[[和]]--间的一串字符
str3 = [[Lua]]
str4 = [[使用双括号时,甚至能包含换行数据
换行了
最后一行]] --输出所有字符串
print(str1)
print(str2)
print(str3)
print(str4)
接下来你需要完成下面的练习:
新建三个变量s1
、s2
、s3
分别存入字符串数据:str
、abc
、233
,使输出打印正确
--请在空白处补全代码 print("s1,s2,s3的值:",s1,s2,s3)
print("s1,s2,s3的类型:",type(s1),type(s2),type(s3))
转义字符
在上一节中,我们学习了如何声明字符串。
但是我们有时候会遇到一些特殊的问题,如:如何输出单引号和双引号?如何输出回车换行?
也许我们可以用下面的方式简单规避,输出单引号时,声明字符串用双引号括起来,像下面这样
str = "'"
同理,输出双引号时,声明字符串用单引号括起来,像下面这样
str = '"'
但是,这样会出现一个问题:如何同时显示单引号和双引号?这里就需要转义字符
登场了。
转义字符用于表示不能直接显示的字符,比如后退键、回车键、等。
以 开头的都是转义字符,下面时常用的转义字符格式:
转义字符 | 含义 |
---|---|
n | 换行(LF),将当前位置移到下一行开头 |
r | 回车(CR),将当前位置移到本行开头 |
反斜杠字符 | |
’ | 单引号 |
" | 双引号 |