特点:
Lua是一个脚本语言。是目前速度最快的脚本语言。它能与C/C++代码互相调用。
Lua脚本是跨平台的,是要使用Lua基本语法和标准库写的脚本,都是可以跨平台的(用了扩展库则不一定)。
Lua源码是c写的,因此可以编译出各个平台上的lua解释器、或者lua库。
Lua也能对面向对象编程,函数式编程,数据驱动式编程提供很好的支持。作为一个扩展式语言,Lua没有 "main" 程序的概念:它只能嵌入一个宿主程序中工作,这个宿主程序被称作embedding program或简称为host。宿主程序可以通过调用函数执行一小段Lua代码,可以读写Lua变量,可以注入C函数让Lua代码调用。这些扩展的C函 数,可以大大的扩展了Lua可以处理事务的领域,这样就可以订制出各种语言,而它们共享一个统一的句法格式的框架。Lua的官方发布版就包含了一个叫做 Lua的简单的宿主程序,它用Lua库提供了一个保证独立的Lua解释器。
HelloWorld
写一个最最简单的程序——Hello World。
print("Hello World")
Lua的代码执行有3中方法:
1.交互式,(体验和试验用)输入lua进去lua解释器,直接输入Lua代码就可以执行。
2.脚本方式,(最常用)把代码保存成"*.lua"文件,然后命令行执行例如: $lua hello.lua
3.shell方式(Linux特有),例如:
#!/usr/bin/lua
print("Hello World")
应用:
经常用于游戏脚本或C++程序的插件。
很多网站宣传Lua语言作为脚本开发了《魔兽世界》,其实Lua语言只是开发了《魔兽世界》的插件,几乎所有的《魔兽世界》插件都是使用解释性的脚本 Lua编写,核心的C++代码只占全部代码中的很小一部分比重。在传统平台上Lua最流行的应用场景是在游戏中作为处理逻辑的脚本,即用来编写游戏的任务 脚本,以实现游戏的可配置性和可扩展性。在游戏中Lua脚本的加载不需重启服务器,尽管脚本的运行效率低于编译好的二进制代码,但目前CPU速度已完全能 够让Lua脚本迅速解释执行。这也正是包括《魔兽世界》、《战锤40K》、《仙境传说》、《博德之门》和《轩辕剑外传汉之云》在内的众多游戏选择Lua开 发插件的原因。
想学习Lua语言的朋友还可以到51CTO下载频道魔兽世界Lua插件的编辑器来试验一下。
参考:www.centoscn.com/yunwei/Lua/2013/0820/1389.html