为什么用Lua
lua是一门非常简单,易于上手的语言。它的简单可以从两个方面来说,一是嵌入宿主语言非常简单,另一方面,对开发者友好,语法简单,完全过程式,没有繁重的OOP负担。
对于端游,脚本是锦上添花的东西。但是到了手游时代,脚本就是刚需。因为客户端发一个安装包很麻烦,在ios上每次更新都需要提交给苹果爸爸审核,审核通过以后才可以发出来给用户下载,这个时间很长且不可控。
一个安装包很麻烦,在ios上每次更新都需要提交给苹果爸爸审核,审核通过以后才可以发出来给用户下载,这个时间很长且不可控。
Lua的特性
- 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
- 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
- 其它特性:
- 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
- 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
- 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
- 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。