却忘了用local来阐明

来源: 作者:admin 时间:12/01/27 点击:0
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文件要英俊,并且强盛的多。