1.脚本语言介绍
脚本语言是一种动态语言(数据类型不在声明的时候确定,而是在使用的时候确定),是一种编程语言,用来控制软件应用程序,脚本通常以文本(如ASCII)保存,只在被调用时进行解释或编译。
脚本语言是为了缩短传统的编写-编译-链接-运行(edit-compile-link-run)过程而创建的计算机编程语言。它的命名起源于一个脚本“screenplay”,每次运行都会使对话框逐字重复。早期的脚本语言经常被称为批量处理语言或工作控制语言。
一个脚本通常是解释运行而非编译。脚本语言通常都有简单、易学、易用的特性,目的就是希望能让程序员快速完成程序的编写工作。而宏语言(EXCEL)则可视为脚本语言的分支,两者也有实质上的相同之处。
2.值与类型
2.1 Lua
Lua是一种动态类型语言。这意味着变量没有类型,只有值才有类型。语言中不存在类型定义。而所有的值本身携带他们自己的类型信息。行注释 --,多行注释 --[[ ]]。
Lua中有八种基本类型:nil、boolean、number、string、function、userdata、thread、and table。
nil用来描述一个无意义的值。
boolean类型只有两种值:false和true。nil和false都能导致条件为假,而另外所有的值都被当作真。
number表示实数。
string表示一串字符的数组;字符串可以包含任何8位字符,包括结束符('\0’);字符串可以用单引号与双引号来使用。
userdata类型用来将任意C数据保存在Lua变量中,这个类型相当于一块原生的内存,userdata不能在Lua中创建出来,也不可能在Lua中修改;这样的操作只能通过C来修改,这一点保证了宿主程序完全掌管其中的数据。
thread类型用来区别独立的执行线程,它被用来实现协同例程。
table类型实现了一个关联数组,数组可以用任何东西(除nil)做索引,而不限于数字,table可以以不同类型的值构成,table是lua中唯一的一种数据结构。
2.2 Windows批处理
Windows中的批处理也是动态语言,跟C语言中的数据类型比较相近。行注释 rem或::,C语言中的多行注释/* */也适用于批处理。
3.变量、表达式与控制结构
3.1 Lua
3.1.1 变量
Lua中有三种变量:全局变量、局部变量,还有table的域。任何变量都被假定为全局变量,除非显示的以local修饰定义;局部变量有其作用范围:局部变量可以被定义在它作用范围中的函数自由使用。在变量首次声明时,变量的值均为nil。
3.1.2 表达式
1) 数学运算操作符
Lua支持常见的数学运算操作符:二元操作