草庐IT

MRI分类

全部标签

ruby - 使用 MRI 生成竞争条件

我想知道使用MRIruby​​(2.0.0)和一些全局变量来创建竞争条件是否容易,但事实证明这并不容易。看起来它应该在某个时候失败,但它没有,我已经运行了10分钟。这是我一直在努力实现的代码:definc(*)a=$xa+=1a*=3000a/=3000$x=aendTHREADS=10COUNT=5000loopdo$x=1THREADS.times.mapdoThread.new{COUNT.times(&method(:inc))}end.each(&:join)breakputs"woohoo!"if$x!=THREADS*COUNT+1endputs$x为什么我无法生成(或检

ruby - 如何制作同时针对 MRI 和 JRuby 的 gem?

我想制作一个gem,当其他人尝试将它与MRI一起使用时,它将使用C代码,而当他们从JRuby中使用它时,它将使用Java代码。nokogiri和pumagems就是这样做的,我看过他们的代码,但没有看到他们是如何实现的。 最佳答案 这是通过使用rvm(或其他类似工具在rubies之间切换)和rake-compiler为您针对的不同平台交叉编译gem来完成的。.gemspec文件必须指定每个平台所需的文件;这是通过检查gem正在编译的平台来完成的:Gem::Specification.newdo|gem|#...ifRUBY_PLAT

ruby-on-rails - 带有分类器 gem 的无效编码符号

当我将项目添加到我的Postgres数据库时,一切似乎都运行良好。在不做任何更改的情况下,只要在我的应用程序中的任何位置启动Madeleine,我的Rails应用程序就会开始失败:EncodingErrorinEventsController#updateinvalidencodingsymbolapp/controllers/events_controller.rb:137:in`update'137是问题行:135defupdate136@event=Event.find(params[:id])137m=SnapshotMadeleine.new("bayes_data")...

ruby - 我有什么理由不使用 JRuby 而不是 MRI/YARV?

在IsthereanadvantagetorunningJRubyifyoudon'tknowanyJava?,如果您只是想要比“Ruby”(MRI/YARV)更好的Ruby实现,人们建议使用JRuby。您不使用JRuby的潜在原因是什么?其他人提到的是:短节目表演。JRuby被描述为对于较长的程序速度更快,但初始化时间较长。讨论了解决方法inthisquestion.C扩展:JRuby支持一些,butnotall,用于MRI/YARV的C扩展。并发是一把双刃剑。There'snon-thread-safecodeoutthere人们还没有发现,因为最流行的实现没有真正的并发性。JRu

ruby - MRI 内部结构 : detailed explanation of rb_id2str

在MRI中,似乎rb_id2str()当您调用Symbol#to_s时负责完成所有工作.我惊讶地发现这是一个极其神秘的函数,而我认为这是一个相当直接的操作。我正在寻找有关此功能的详细说明。作为引用,这里是1.9.3中源代码的链接:http://rxr.whitequark.org/mri/source/parse.y?v=1.9.3-p195#9950一些具体问题:什么是四大ifblock在做什么?if(idif(idif(st_lookup(global_symbols.id_str,id,&data))if(is_attrset_id(id))如果能大致了解if语句中每个代码块的作

ruby - 贝叶斯分类器分数代表什么?

我正在使用rubyclassifiergem其分类方法返回根据训练模型分类的给定字符串的分数。分数是百分比吗?如果有,最大差值是100分吗? 最佳答案 这是概率的对数。对于大型训练集,实际概率是非常小的数字,因此对数更容易比较。从理论上讲,分数的范围从接近零的无穷小到负无穷大。10**score*100.0会给出实际概率,确实最大相差100。 关于ruby-贝叶斯分类器分数代表什么?,我们在StackOverflow上找到一个类似的问题: https://st

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

我对mruby很感兴趣项目,但没有找到mruby与其他更完整的Ruby实现(最重要的是MRI)相比主要遗漏的总结。项目中的自述文件说mruby实现了ISOstandard的“一部分”对于Ruby,但没有详细说明省略了哪些功能。有没有人知道此类遗漏的列表,或者是否有足够熟悉实现的人来总结一下? 最佳答案 所以我没有仔细阅读源码,但是在构建了mruby并运行了一下解释器之后,我发现缺少以下内容(这绝不是一个完整的列表,我也不知道这些是否是故意遗漏或只是还没有写的东西):反引号评估字符串#scan(instance|module|clas

ruby - MRI 如何解析 `||=` 运算符?

今天我试图向一位同事解释||=在MRI中不是线程安全的。我想我应该看一下Ruby源代码,看看我是否可以指出Ruby调度程序可以切换线程上下文的位置,但是我在浏览代码时遇到了问题。我希望更有经验的人可以带我了解被命中的文件。到目前为止,我知道Bison使用parse.y并生成一个调用一些底层函数的parse.c文件。我看到||被解析为tOROP但随后我对接下来发生的事情有点迷茫另外,有没有像Ripper这样的工具可以让我更轻松地完成这个过程?(关于这一点,如果有人能指出Ripper源代码的定义位置,那将会很有帮助) 最佳答案 忘记解析

ruby - 在 Ruby 中实现贝叶斯分类器?

我想实现一个简单的贝叶斯分类系统来对短信进行基本的情感分析。欢迎提供在Ruby中实现的实用建议。也欢迎提出除贝叶斯之外的其他方法的建议。 最佳答案 IlyaGrigorik在BayesianClassifiers上的这篇博文中对这个问题给出了很好的答案。此外,您不妨看看ai4rrubygem用于贝叶斯分类器的一些替代方法。ID3是一个不错的选择,因为它提供了即使对机器学习技术没有任何真正了解的人也能“理解”的决策树。 关于ruby-在Ruby中实现贝叶斯分类器?,我们在StackOver

ruby - Rubinus 或 MRI 1.9.3 (YARV)?

所以,我有几个问题想问,我确实浏览了互联网,但没有太多可靠的答案。大多数博客文章会相互抵消,因为它们都赞扬不同的事物并且有基准来“证明他们的观点”(我一生中从未见过如此多的矛盾基准).无论如何,我的问题是:Rubinius真的更快吗?我对这个看似诚实的人印象深刻pro-Rubiniuspresentation.另一件让我有点困惑的事情是很多Rubinius是用Ruby本身编写的,但不知何故它比C-Ruby更快?那么,这一定是该语言的非常好的实现!EventMachine可以与Ruinius一起使用吗?据我所知,EventMachine部分依赖于Fiber(如果我错了请纠正),直到1.9