	所有的语言，都要用到变量。在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="http://www.lua.org">Lua</A>

　　　　　　　　[[a text between double brackets]]

　　　　　　</BODY>

　　　　</HTML>

　　　　]]

 

　　　　值得注意的是，在这种字符串中，如果含有单独使用的"[["或"]]"就仍然得用"\["或"\]"来避免歧义。当然，这种情况是极少会发生的。