V. 变量的定义
所有的语言,传奇私服,都要用到变量。在Lua中,不论你在什么处所使用变量,都不需要申明,并且所有的这些变量总是全局变量,除非,你在前面加上"local"。
这一点要特殊留神,由于你可能想在函数里应用部分变量,却忘了用local来阐明。
至于变量名字,它是大小写相干的。也就是说,A和a是两个不同的变量。
定义一个变量的方法就是赋值。"="操作就是用来赋值的
我们一起来定义几种常用类型的变量吧。
A. Nil
正如前面所说的,没有使用过的变量的值,都是Nil。有时候我们也需要将一个变量肃清,这时候,咱们可以直接给变量赋以nil值。如:
var1=nil -- 请注意 nil 必定要小写
B. Boolean
布尔值通常是用在进行前提断定的时候。布尔值有两种:true 和 false。在Lua中,只有false和nil才被盘算为false,而所有任何其它类型的值,都是true。比如0,空串等等,都是true。不要被C语言的习惯所误导,0在Lua中的确实确是true。你也可以直接给一个变量赋以Boolean类型的值,如:
varboolean = true
C. Number
在Lua中,是不整数类型的,也不须要。个别情况下,只有数值不是很大(好比不超过100,000,000,000,000),是不会发生舍入误差的。在良多CPU上,实数的运算并不比整数慢。
实数的表示方法,同C语言相似,如:
4 0.4 4.57e-3 0.3e12 5e+20
D. String
字符串,老是一种非经常用的高等类型。在Lua中,你能够十分便利的定义很长很长的字符串。
字符串在Lua中有多少种办法来表现,最通用的方式,是用双引号或单引号来括起一个字符串的,如:
"This is a string."
和C语言雷同的,它支撑一些转义字符,列表如下:
\a bell
\b back space
\f form feed
\n newline
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\" double quote
\' single quote
\[ left square bracket
\] right square bracket
因为这种字符串只能写在一行中,因而,不可避免的要用到转义字符。参加了本义字符的串,看起来切实是不敢奉承,比如:
"one line\nnext line\n\"in quotes\", 'in quotes'"
一大堆的"\"符号让人看起来很倒胃口。如果你与我有同感,那么,我们在Lua中,可以用另一种表示方法:用"[["和"]]"将多行的字符串括起来,如:
page = [[
<HTML>
<HEAD>
<TITLE>An HTML Page</TITLE>
</HEAD>
<BODY>
<A HREF="
[[a text between double brackets]]
</BODY>
</HTML>
]]
值得注意的是,在这种字符串中,假如含有独自使用的"[["或"]]"就依然得用"\["或"\]"来防止歧义。当然,这种情形是极少会产生的。
E. Table
关联表类型,这是一个很壮大的类型。我们可以把这个类型看作是一个数组。只是C语言的数组,只能用正整数来作索引;在Lua中,你可以用任意类型来作数组的索引,除了nil。同样,在C语言中,数组的内容只容许一品种型;在Lua中,你也可以用任意类型的值来作数组的内容,除了nil,网卡驱动下载。
Table的定义很简略,它的重要特点是用"{"跟"}"来括起一系列数据元素的。比方:
T1 = {} -- 定义一个空表
T1[1]=10 -- 而后我们就可以象C语言一样来使用它了。
T1["John"]={Age=27, Gender="Male"}
这一句相称于:
T1["John"]={} -- 必需先定义成一个表,还记得不决义的变量是nil类型吗
T1["John"]["Age"]=27
T1["John"]["Gender"]="Male"
当表的索引是字符串的时候,我们可以简写成:
T1.John={}
T1.John.Age=27
T1.John.Gender="Male"
或
T1.John{Age=27, Gender="Male"}
这是一个很强的特征。
在定义表的时候,我们可以把所有的数据内容一起写在"{"和"}"之间,这样子是无比方便,而且很难看。比如,前面的T1的定义,我们可以这么写:
T1=
{
10, -- 相称于 [1] = 10
[100] = 40,
John= -- 如果你原意,你还可以写成:["John"] =
{
Age=27, -- 如果你原意,你还可以写成:["Age"] =27
Gender=Male -- 如果你原意,你还可以写成:["Gender"] =Male
},
20 -- 相当于 [2] = 20
}
看起来很美丽,不是吗?我们在写的时候,需要注意三点:
第一,所有元素之间,总是用逗号","隔开;
第二,所有索引值都需要用"["和"]"括起来;如果是字符串,还可以去掉引号和中括号;
第三,www.gz-ruizhi.com,如果不写索引,则索引就会被以为是数字,并按次序主动从1往后编;
表类型的结构是如斯的方便,以至于常常被人用来取代配置文件。是的,不必猜忌,它比ini文件要英俊,并且强盛的多。
