在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Lua 是一个小巧的脚本语言,可以直接使用解析器进行解析。设计目的是为了嵌入应用程序中,从而为应用提供灵活的扩展和定制功能。 Lua 由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。 Lua并没有提供强大的库,所以Lua 不适合作为开发独立应用程序语言。 Lua 有一个同时进行的JIT项目,提供在特定平台上的及时编译功能。 Lua 不仅可以作为扩展脚本被其他代码调用,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。在目前所有脚本引擎中。Lua的速度是最快的,这一切都决定了Lua是作为嵌入式脚本的最佳选择。 Lua 不仅是一种易于扩展的语言,也是一种易整合语言 ,Lua 支持基于组件的,除了作为整合语言外,Lua 自身也是一个功能强大的语言。Lua 不仅可以整合组件,还可以编辑组件甚至完全使用 Lua 创建组件。 Lua语言特征: 1、可扩展性。Lua 的扩展性非常卓越,以至于很多人把 Lua 用作搭建领域语言的工具(注:比如游戏脚本)。Lua 被设计为易于扩展的,可以通过 Lua 代码或者 C代码扩展,Lua 的很多功能都是通过外部库来扩展的。 2、简单。Lua 本身简单,小巧;内容少但功能强大,这使得 Lua 易于学习,很容易实现一些小的应用。 3、高效率。Lua 有很高的执行效率,统计表明 Lua 是目前平均效率最高的脚本语言。 4、与平台无关。Lua 几乎可以运行在所有我们听说过的系统上,如 NextStep、OS/2、PlayStation II (Sony)、Mac OS-9、OS X、BeOS、MS-DOS、IBMmainframes、EPOC、PalmOS、MCF5206eLITE Evaluation Board、RISCOS,及所有的 Windows 和 Unix。Lua 不是通过使用条件编译实现平台无关,而是完全使用 ANSI (ISO) C,这意味着只要你有 ANSI C 编译器你就可以编译并使用 Lua。 Lua的使用者: 1、使用 Lua 嵌入到其他应用中的:很多人使用 Lua 嵌入在应用程序,比如 CGILua(搭建动态网页)、LuaOrb(访问 CORBA 对象。这些类型用 Lua-API 注册新函数,创建新类型,通过配置 Lua 就可以改变应用宿主语言的行为。 2、独立使用 Lua 的:作为一种独立运行的语言,主要用于文本处理或者只运行一次的小程序。这种应用 Lua 主要使用它的标准库来实现,标准库提供模式匹配和其它一些字串处理的功能。 3、将 Lua和 C 混合使用的: 还有一些使用者使用其他语言开发,把 Lua 当作库使用。这些人大多使用 C语言开发,但使用 Lua 建立简单灵活易于使用的接口。 Lua的开发环境:LuaforWindows(包含Lua 解析器,帮助文档,API手册) Lua注释: 1、单行注释:-- 2、多行注释:--[[ --]] Lua语言后面可以没有 “ ; ”表示结束,在同一行也可以输入多行的内容 Lua中的数据类型: 1、nil 2、 Boolean 3、 number 4、string 5、function 6、table 7、thread 8、userdata Lua的测试: 在编辑代码区域输入:print(‘hello world’)
点击运行按钮(上方红色位置)会在下方输出hello world则成功。
Lua变量:1、Lua中除了关键字其余一切都是变量,变量创建之前不能使用; 2、变量在定义时使用下划线开头的字母,下划线,数字序列; 3、最好不要使用下划线加大写字母的标识符。下划线加大写字母是系统预留的,不能定义。
4、Lua中变量有三种类型:全局变量,局部变量,表中的域。 Lua中的变量是全局变量,即使在函数中,如果想要定义局部变量就在变量前加local,变量的默认值均为nil。 Lua变量使用尽量使用局部变量:可以避免命名冲突,访问局部变量的速度比全局变量更快。 5、Lua的赋值: (1)可以同时给多个变量赋值:a,b,c,d=1,2,3,4 (2)可以交换变量功能:a,b=b,a (3)当变量个数和值得个数不一致时,Lua会以变量的个数为基础赋值: a、变量个数>值的个数 按变量个数补足nil b、变量个数<值得个数 多余的值会被忽略 6、Lua基本数据类型: (1)nil:Lua中特殊的一个值,表示空值,所有没有赋值的变量都是nil,nil 即表示数值,又表示类型。给全局变量赋值nil,可以删除该变量。 (2)逻辑值:只有两个 true 和 false 两种,在控制结构的条件中除了false和nil为假,其他值都为真。 (3)数值:相当于C# 中的 double类型,可以代替整数,浮点数。 (4)字符串:由数字、字母、下划线组成。 有三种表示方式: (1)单引号:’ ’ (2)双引号:” ” (3) 双括号 [[ ]]
分隔方式: 1、输入的是数字时直接使用 ‘,’ 隔开, 错。 字符串的转换:在运行Lua时,当字符串使用算术操作符时,会自动在String 和numbers 之间进行类型转换。如果需要显式将 string 转成数字可以使用函数 tonumber(),如果 string 不是正确的数字该函数将返回 nil。反之,可以调用 tostring()将数字转成字符串 。 字符串常用方法:
库。 这是一个打印 helloworld 的函数示例:
(6)表结构: 1、table 是 Lua 的一种数据结构用来帮助我们创建不同的数据类型,如:数组、字典等。 2、Lua table 使用关联型数组, 3、你可以用任意类型的值来作数组的索引,但这个值不能是 nil。 4、Lua table 是不固定大小的,你可以根据自己需要进行扩容。 5、Lua也是通过table来解决模块(module)、包(package)和对象(Object)的。 6、所有的元素之间,总是用“ ,”隔开。 7、所有索引值都需要用“[” 和“]”括起来;如果是字符串,还可以去掉引号和中括号。 8、如果不写索引,则索引就会被认为是数字,并按顺序自动从1往后编。 (7)Userdata: 1、userdata专门和Lua的宿主机打交道; 2、userdata 可以将 C 数据存放在 Lua 变量中; 3、userdata 在 Lua 中除了赋值和相等比较外没有预定义的操作。 4、userdata 用来描述应用程序或者使用 C 实现的库创建的新类型。 (8)Thread:线程类型 Lua中的转义字符:
最后为我微信公众号引个流,欢迎大家关注我的微信公众号,大家一起学习一起进步
|
请发表评论