首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与MRI相比,mruby的主要遗漏是什么?

与MRI相比,mruby的主要遗漏是什么?
EN

Stack Overflow用户
提问于 2013-09-11 12:41:36
回答 4查看 2.3K关注 0票数 12

我对mruby项目很感兴趣,但与其他更完整的Ruby实现(最重要的是磁共振成像)相比,我没有幸运地发现mruby中的主要遗漏。

项目中的自述文件说mruby实现了Ruby的ISO standard的“一部分”,但没有详细说明省略了哪些特性。

有没有人知道这样的遗漏列表,或者有谁对实现足够熟悉来总结一下?

EN

回答 4

Stack Overflow用户

发布于 2013-09-12 13:05:58

所以我没有仔细阅读源代码,但在构建了mruby并运行了一点解释器之后,我发现缺少以下内容(这绝不是一个完整的列表,我也不知道这些是故意遗漏的,还是只是还没有编写的东西):

带有

  • backticks
  • eval
  • String#scan
  • (instance|module|class)_eval arguments
  • Module.constants
  • Regexp
  • Process
  • Bignum
  • IOFileDir
  • Encoding
  • ThreadMutex
  • Marshal

String

如果有人有一个更完整的列表,或者知道这些位是还没有实现还是被故意省略的细节,我仍然很想知道。

票数 5
EN

Stack Overflow用户

发布于 2018-02-02 18:49:21

https://github.com/mruby/mruby/blob/master/doc/limitations.md上可以找到Ruby MRI和MRuby之间的部分但最新的差异列表。

截至2020年3月,以下是列出的差异:

  • 1/2提供了Bignum.
  • Passing,因为mruby不支持将数组转换为puts在不带参数的情况下在不同的

中产生当前异常执行不能交叉C函数boundary

  • Array不支持实例变量
  • 没有方法可见性(public/private/protected) is supported.
  • defined? is missing
  • Aliasing全局变量可以在CRuby中使用,但是不是ISO标准的一部分。在不同的user.
  • Kernel#binding中解析的supported.
  • Keyword参数way.
  • Arguments (def foo(a, b, **k))不能缺省为其他析构参数(def foo(a, (b,c), d=b)无效)。在条件
  • 中忽略nil?方法的任何重新定义
票数 4
EN

Stack Overflow用户

发布于 2013-10-02 02:09:25

看看所谓的mrbgem (https://github.com/mruby/mruby/tree/master/mrbgems)。您缺少的一些功能(例如,RegExp、评估、文件)可以作为额外的GEM使用。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18732828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档