Lua和Luajit的优势和不足(1)
来源:互联网 发布:网络销售保健品诈骗案 编辑:程序博客网 时间:2024/05/05 10:51
一、什么是lua&luaJit
lua(www.lua.org)其实就是为了嵌入其它应用程序而开发的一个脚本语言,luajit(www.luajit.org)是lua的一个Just-In-Time也就是运行时编译器,也可以说是lua的一个高效版。
二、优势
1)lua是一个免费、小巧、简单、强大、高效、轻量级的嵌入式的脚本语言,lua当前的发行版本5.3.1只有276k。
2)它是用C语言开发的项目,所以可以在大部分的操作系统上运行
3)lua是目前速度最快的脚本语言,既可以提升语言的灵活性还可以最大限度的保留速度
4)其语法非常简单,没有特例
5)lua还可以作为C的API来使用
三、不足和不同
1)lua没有强大的库,所以很多功能实现起来没有python、perl、ruby等脚本语言简洁
2)lua的异常处理功能饱受争议,虽然其提供了pcall和xpcall的异常处理函数
3)lua原生语言中没有提供对unicode编码的支持,虽然可以通过一些折中的办法实现 http://www.cppblog.com/darkdestiny/archive/2009/04/25/81055.html
4)没有提供在C++中应用很广泛的a?b:c的三元运算符操作
5)没有switch...case...语法,只能通过if..elseif..elseif..else..end的方式折中实现
6)在循环时没有提供continue语法
7)没有C++中应用广泛的a++和a+=1等操作
8)lua的索引是从1开始的,而不是我们熟悉的0(string,table)
9)当你给一个元素赋值为nil时相当于这个元素不存在
10)lua的数值类型只有number是没有int,float,double等之分的
11)lua中没有类的概念,其类是通过table的形式来实现的
12)lua中只有nil和false是表示假的,零在lua中是为真的
13)很多程序需要()标示才能运行,比如a={["b"]=5},print(a.b)是可运行的,但是 {["b"]=5}.b就会报错,需要({["b"]=5}).b才可以
四、综述
综上,lua是一个简单,高效所以在游戏逻辑开发和服务器开发中(ngx_lua)得到广泛的应用。
0 1
- Lua和Luajit的优势和不足(1)
- Lua和LuaJit的差别
- Ajax的优势和不足
- Lua和Luajit
- jQuery中的ajax的优势和不足
- 21700电池的优势和不足
- lua 和 luajit 性能对比测试
- J2ME技术在手机开发领域的优势和不足
- J2ME技术在手机开发领域的优势和不足
- js对象创建的方式及其优势和不足2
- js对象创建的方式及其优势和不足3
- js对象创建的方式及其优势和不足4
- js对象创建的方式及其优势和不足5
- js对象创建的方式及其优势和不足6
- js对象创建的方式及其优势和不足7
- js中对象创建方式及其优势和不足1
- Windows下LuaJIT的编译和使用,将Lua脚本编译为bytecode
- 【Lua】windows下安装和使用LuaJIT步骤
- 剑指offer - 实现Singleton模式
- 2566:硬币统计
- 插入排序
- Emacs 编辑环境,第 2 部分: 学习 Emacs 的基本模式和编辑特性
- Emacs 编辑环境,第 3 部分: 高级 Emacs 文本操作
- Lua和Luajit的优势和不足(1)
- linux安装mysql步骤(unrecognized service错误)
- Emacs 编辑环境,第 4 部分: 选项、寄存器和书签
- Log4J日志输出格式说明
- CocoaPods pod install/pod update更新卡住的问题
- js javascript 获取url,获得当前页面的url,静态html文件js读取url参数
- Emacs 编辑环境,第 5 部分: 确定您的 Emacs 视图的形状
- Switch case
- Emacs 编辑环境,第 6 部分: 自定义您的 Emacs 环境