Lua 脚本语言介绍
2014-04-19 14:09
309 查看
Lua 是一个扩展式程序设计语言,它被设计成支持通用的过程式编程,并有相关数据描述的设施。 Lua 也能对面向对象编程,函数式编程,数据驱动式编程提供很好的支持。 它可以作为一个强大、轻量的脚本语言,供任何需要的程序使用。 Lua 以一个用 clean C 写成的库形式提供。(所谓 Clean C ,指的 ANSI C 和 C++ 中共通的一个子集)
作为一个扩展式语言,Lua 没有 "main" 程序的概念:它只能 嵌入 一个宿主程序中工作,这个宿主程序被称作embedding program 或简称为 host 。 宿主程序可以通过调用函数执行一小段 Lua 代码,可以读写 Lua 变量,可以注入 C 函数让 Lua 代码调用。 这些扩展的 C 函数,可以大大的扩展了 Lua 可以处理事务的领域,这样就可以订制出各种语言,
而它们共享一个统一的句法格式的框架。 Lua 的官方发布版就包含了一个叫做
Lua 是一个自由软件,它的使用许可决定了对它的使用过程一般没有任何保证。 这份手册中描述的东西的实现,可以在 Lua 的官方网站
跟其它的许多参考手册一样,这份文档有些地方比较枯燥。 关于 Lua 的设计想法的探讨,可以看看 Lua 网站上提供的技术论文。 有关用 Lua 编程的细节介绍,可以读一下 Roberto 的书,Programming in Lua (Second Edition)。
Lua 支持惯例形式的语句段,它和 Pascal 或是 C 很相象。 这个集合包括赋值,控制结构,函数调用,还有变量声明。
Lua 的一个执行单元被称作 chunk。 一个 chunk 就是一串语句段,它们会被循序的执行。 每个语句段可以以一个分号结束:
这儿不允许有空的语句段,所以 '
lua 把一个 chunk 当作一个拥有不定参数的匿名函数 (参见 §2.5.9)处理。
正是这样,chunk 内可以定义局部变量,接收参数,并且返回值。
chunk 可以被保存在一个文件中,也可以保存在宿主程序的一个字符串中。 当一个 chunk 被执行,首先它会被预编译成虚拟机中的指令序列, 然后被虚拟机解释运行这些指令。
chunk 也可以被预编译成二进制形式;细节参考程序
语句块是一列语句段;从语法上来说,一个语句块跟一个 chunk 相同:
一个语句块可以被显式的写成一个单独的语句段:
显式的语句块对于控制变量的作用范围很有用。 有时候,显式的语句块被用来在另一个语句块中插入 return 或是 break (参见 §2.4.4)。 http://www.cppblog.com/0OO/archive/2009/09/11/95899.html 参考
作为一个扩展式语言,Lua 没有 "main" 程序的概念:它只能 嵌入 一个宿主程序中工作,这个宿主程序被称作embedding program 或简称为 host 。 宿主程序可以通过调用函数执行一小段 Lua 代码,可以读写 Lua 变量,可以注入 C 函数让 Lua 代码调用。 这些扩展的 C 函数,可以大大的扩展了 Lua 可以处理事务的领域,这样就可以订制出各种语言,
而它们共享一个统一的句法格式的框架。 Lua 的官方发布版就包含了一个叫做
lua的简单的宿主程序,它用 Lua 库提供了一个保证独立的 Lua 解释器。
Lua 是一个自由软件,它的使用许可决定了对它的使用过程一般没有任何保证。 这份手册中描述的东西的实现,可以在 Lua 的官方网站
www.lua.org找到,
跟其它的许多参考手册一样,这份文档有些地方比较枯燥。 关于 Lua 的设计想法的探讨,可以看看 Lua 网站上提供的技术论文。 有关用 Lua 编程的细节介绍,可以读一下 Roberto 的书,Programming in Lua (Second Edition)。
2.4 - 语句段(Statement)
Lua 支持惯例形式的语句段,它和 Pascal 或是 C 很相象。 这个集合包括赋值,控制结构,函数调用,还有变量声明。
2.4.1 - Chunk(语句组)
Lua 的一个执行单元被称作 chunk。 一个 chunk 就是一串语句段,它们会被循序的执行。 每个语句段可以以一个分号结束:chunk ::= {stat [`;´]}
这儿不允许有空的语句段,所以 '
;;' 是非法的。
lua 把一个 chunk 当作一个拥有不定参数的匿名函数 (参见 §2.5.9)处理。
正是这样,chunk 内可以定义局部变量,接收参数,并且返回值。
chunk 可以被保存在一个文件中,也可以保存在宿主程序的一个字符串中。 当一个 chunk 被执行,首先它会被预编译成虚拟机中的指令序列, 然后被虚拟机解释运行这些指令。
chunk 也可以被预编译成二进制形式;细节参考程序
luac。 用源码形式提供的程序和被编译过的二进制形式的程序是可以相互替换的; Lua 会自动识别文件类型并做正确的处理。
2.4.2 - 语句块
语句块是一列语句段;从语法上来说,一个语句块跟一个 chunk 相同:block ::= chunk
一个语句块可以被显式的写成一个单独的语句段:
stat ::= do block end
显式的语句块对于控制变量的作用范围很有用。 有时候,显式的语句块被用来在另一个语句块中插入 return 或是 break (参见 §2.4.4)。 http://www.cppblog.com/0OO/archive/2009/09/11/95899.html 参考
相关文章推荐
- 【COCOS2DX-LUA 脚本开发之一】LUA语言基础在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途
- 【COCOS2DX-LUA 脚本开发之一】LUA语言基础在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- Cocos2d-x 脚本语言Lua介绍
- 转载一个简单的lua展示【COCOS2DX-LUA 脚本开发之一】LUA语言基础在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
- Lua脚本语言介绍和开发
- 使用Lua脚本语言开发出高扩展性的系统,AgileEAS.NET SOA中间件Lua脚本引擎介绍 推荐
- Lua教程(一):Lua脚本语言介绍
- Cocos2d-x 脚本语言Lua介绍
- 使用Lua脚本语言开发出高扩展性的系统,AgileEAS.NET SOA中间件Lua脚本引擎介绍
- Lua脚本语言简明入门教程
- 使用tolua++创建基于C/C++语言的lua脚本
- Lua脚本语言学习笔记
- 在Java中使用Lua脚本语言
- 八,ESP8266 文件保存数据(基于Lua脚本语言)
- WPF/Silverlight深度解决方案:(十)与嵌入式脚本语言Lua & Javascript的交互(上)
- 脚本语言Lua小试(安装及简单语法)
- 脚本语言介绍
- 以tcl脚本语言+mysql DB 为例 介绍ETL调度系统搭建过程
- Shell Perl Python 脚本语言介绍
- lua脚本语言经验