2.3 常量和变量
我们在第1章中介绍了使用Lua编写一个HelloLua的小程序,其中就用到变量。常量和变量是构成表达式的重要组成部分。
2.3.1 常量
在C语言等语言中,常量只能声明时候初始化,不能在使用过程中改变它的值。在C和C++中可以通过在标识符的前面加上关键字const实现。但是在Lua中的常量并没有这样限制,例代码如下:
NUM=100
事实上,Lua中的常量与变量没有区别,只是命名规范要求大写常量标识符。
2.3.2 变量
在Lua中声明变量,在标识符的前面可以使用local关键字修改或不修改,示例代码如下:
local scoreForStudent = 0.0 scoreForStudent = 0.0
上面的语句声明scoreForStudent变量,并且初始化为0.0,变量的类型是数值类型。使用local关键字的变量是局部变量,局部变量可以在它的作用范围是它所在的函数。没有local关键字的变量是全局变量。
变量赋值之前值为nil,下面声明的两个变量值均为nil:
local scoreForStudent scoreForStudent
2.3.3 命名规范
养成良好的编程习惯,在使用常量和变量时候,命名要规范,这样程序可读性好。
1.常量名
基本数据类型的常量名为全大写,如果是由多个单词构成,可以用下划线隔开,例如:
local YEAR = 60 local WEEK_OF_MONTH = 3
2.变量名
变量的命名有几种风格,主要以清楚易懂为原则。有些程序员为了方便,使用一些单个字母作为变量名称,如j和i等,这会造成日后程序维护困难,命名变量时发生同名的情况也会增加。单个字母变量一般只用于循环变量,因为它们的作用只是在循环体内。
过去,计算机语言对变量名称的长度有限制,但现在计算机语言已无这种限制。因此,我们鼓励用清楚的名称来表明变量的作用,通常以小写字母作为开始,并在每个单字开始时第一个字母使用大写,例如:
local maximumNumberOfLoginAttempts = 10 local currentLoginAttempt = 0
像这样的名称可以让人一眼就看出这个变量的作用。
除了常量和变量的命名要有规范,其他的语言对象也是要讲究命名要规范。对象等类型的命名规范通常是:大写字母作为开始,并在每个单字开始时第一个字母使用大写,例如HelloWorldApp。函数名往往由多个单词合成,第一个单词通常为动词,通常以小写字母开始,并在每个单字开始时第一个字母使用大写,例如balanceAccount和isButtonPressed。