运行可以通过 Lua 的交互模式,也可以用记事本编辑代码保存为 .lua 的格式,通过 Lua 编译器运行。也可以通过第三方工具,将 Lua 打包独立运行。
Lua的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。
轻量级
Lua语言的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快,从而适合嵌入在别的程序里。5.0.2版的Lua的
内核小于120KB,而Python的内核大约860KB,Perl的内核大约1.1MB。
[3]
可扩展
Lua并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是Lua提供了非常易于使用的扩展接口和机制:由
宿主语言(通常是C或
C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
其它特性
Lua还具有其它一些特性:同时支持
面向过程(procedure-oriented)编程和
函数式编程(functional programming);自动
内存管理;只提供了一种通用类型的表(table),用它可以实现
数组,哈希表,集合,对象;语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程
[4] ,并非操作系统所支持的线程)支持;通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。