我对mruby项目很感兴趣,但与其他更完整的Ruby实现(最重要的是磁共振成像)相比,我没有幸运地发现mruby中的主要遗漏。
项目中的自述文件说mruby实现了Ruby的ISO standard的“一部分”,但没有详细说明省略了哪些特性。
有没有人知道这样的遗漏列表,或者有谁对实现足够熟悉来总结一下?
发布于 2013-09-12 13:05:58
所以我没有仔细阅读源代码,但在构建了mruby并运行了一点解释器之后,我发现缺少以下内容(这绝不是一个完整的列表,我也不知道这些是故意遗漏的,还是只是还没有编写的东西):
带有
evalString#scan(instance|module|class)_eval argumentsModule.constantsRegexpProcessBignumIO,File、DirEncodingThread和MutexMarshal的String
如果有人有一个更完整的列表,或者知道这些位是还没有实现还是被故意省略的细节,我仍然很想知道。
发布于 2018-02-02 18:49:21
在https://github.com/mruby/mruby/blob/master/doc/limitations.md上可以找到Ruby MRI和MRuby之间的部分但最新的差异列表。
截至2020年3月,以下是列出的差异:
1/2提供了Bignum.puts在不带参数的情况下在不同的中产生当前异常执行不能交叉C函数boundary
Array不支持实例变量public/private/protected) is supported.defined? is missingKernel#binding中解析的supported.def foo(a, b, **k))不能缺省为其他析构参数(def foo(a, (b,c), d=b)无效)。在条件nil?方法的任何重新定义发布于 2013-10-02 02:09:25
看看所谓的mrbgem (https://github.com/mruby/mruby/tree/master/mrbgems)。您缺少的一些功能(例如,RegExp、评估、文件)可以作为额外的GEM使用。
https://stackoverflow.com/questions/18732828
复制相似问题