赞 | 2 |
VIP | 143 |
好人卡 | 1 |
积分 | 1 |
经验 | 216792 |
最后登录 | 2019-10-10 |
在线时间 | 24 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 61
- 在线时间
- 24 小时
- 注册时间
- 2008-8-5
- 帖子
- 1924
|
本帖最后由 紫苏 于 2010-8-3 10:38 编辑
用 Lua 设计大型系统的过程比 Ruby 复杂,一来是其语法糖较之 Ruby 略逊,二来是内置并无面向对象的编程泛型(虽然在 Lua 中可以自行通过表和元表模拟实现基于原型的面向对象泛型,但毕竟起点和工作量都高于 Ruby),三来是 Lua 提供的核心功能库太少了,没法和 Ruby 比,当然现在 LuaRocks 也在膨胀中,虽然比不上 RubyGem,但前景现在还不好说
然而 Ruby 在很多方面是不如 Lua 的——Lua 的函数是一等 lambda 函数,Ruby 的函数不是,还需要转换为 Method 对象,这使得 Lua 优先于 Ruby 占领了函数式编程领域;Lua 有基于寄存器的虚拟机,可移植性比 Ruby 高,运行速度也比各种 Ruby 解释器快很多(无论是纯解释性的 MRI 还是即时编译的 JRuby 等);Lua 比 Ruby 更容易嵌入,因为这是 Lua 的设计目标之一
RM 完全可以嵌入 Lua,只是上述各种好处、坏处将会发生易位
编辑一下:截止 Ruby 1.8,函数还不是一等函数 |
|