问题标签 [ruby-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2207 浏览

streaming - 如何让 Rails 4 ActionController::Live 流与 Thin 和 Ruby 2 一起使用?Thin 和 Puma 如何通过直播进行扩展?

我让它与 Puma 一起工作,但在 Thin 上,我没有得到任何流输出,我必须终止服务器才能停止它。我正在使用tenderlove 输出当前时间的初始示例进行测试:

http://tenderlovemaking.com/2012/07/30/is-it-live.html

对我来说,一个更普遍的问题是,这种类型的流媒体在流量很大的应用程序中是否实用?我想如果不是成千上万的用户在这样的应用程序中一次连接到流,那么很容易就会有很多人。彪马将如何在这里扩展?我读到 Puma 每个连接使用 1 个线程。那效率高吗?那么薄呢?所有连接都在同一个线程中吗?这样会更有效率吗?

我遇到的另一个问题是,即使使用 Puma,我也只能获得一个本地连接。当我从第二个终端卷曲时,我没有得到任何输出......有人知道为什么吗?

0 投票
1 回答
416 浏览

openssl - 必须选择哪个 OpenSSL 环境:开发 | 运行时 | 根据?有什么不同?

我正在尝试在 Cygwin 下的 Windows 上使用ruby ​​-build 安装Ruby-2.0.0-rc2 。我收到 BUILD FAILED 错误,因为Cygwin 中没有预安装OpenSSL lib。

我检查了它setup.exe,并且有几种OpenSSL环境变体。必须选择哪一个?

我已经libopenssl100 The OpenSSL runtime environment预先安装了,但这并没有让我免于 BUILD FAILED。所以现在还剩下两个可以安装:

选择哪一个?这是什么意思development?它正在开发过程中或正在开发中

0 投票
1 回答
232 浏览

ruby - 为什么 `ObjectSpace._id2ref` 在 Ruby 1.9 和 Ruby 2.0 上给出不同的输出?

为什么ObjectSpace._id2ref在 Ruby 1.9 和 Ruby 2.0 上给出不同的输出?

红宝石 1.9.3p392 i386-mingw32

红宝石 2.0.0p0 i386-mingw32

0 投票
1 回答
267 浏览

ruby - 在 Ruby 中使用 `Symbol#<=>` 时与 `nil` 输出混淆

Symbol#<=>

简单地说:在每个符号上调用 to_s 后将符号与 other_symbol 进行比较。根据 symbol 是否小于、等于或大于 other_symbol,返回 -1、0、+1 或 nil。nil如果两个值不可比较,则返回。

我试图了解Symbol#<=>返回时的工作原理nil。这样做我玩了代码:

从上面的IRB代码我认为返回值将是0. 但实际是nil。正如文档所说,在使用<=>运算符之前to_s应用了RHOand LHO。但是在我看来,下面的代码不支持该原则。

所以我试图查看源代码,来回答自己:

查看源代码很明显,如果RHO不是 class 的对象Symbolnil将返回。让我们看看 IRB 中的更多内容:

再次nil。说rb_str_cmp_m(rb_sym_to_s(sym),rb_sym_to_s(other))现在将执行的源代码。所以现在我去看了STRING.C. 所以我们基本上是通过rb_str_cmp_m(???,"x"). 现在我从 github 找到了:(?意味着不知道什么值)

但是上面的代码我无法理解。但我相信它有答案当不是 class 的对象nil时是如何产生的。LHOSymbol

任何人都可以在这里帮助我了解什么nil时候LHO不来sym吗?

0 投票
2 回答
267 浏览

ruby - NoMethodError:未定义的方法'-@'

这是我的 Sinatra 代码

当我将此方法称为 #sort_by_date_or_price(items, :date, :desc)它返回错误 NoMethodError: undefined method '-@' for 2013-02-05 02:43:48 +0200:Time

我该如何解决?

0 投票
1 回答
1018 浏览

ruby - IO#lines 在 Ruby 2.0 中已弃用;如何逐行迭代?

我的 Ruby 1.9.3 代码打开一个文件并检查每一行是否存在某个字符串:

Ruby 2.0.0 给了我一个警告:

警告:不推荐使用 IO#lines;改用#each_line

在 Ruby 2.0.0 中实现这一点的最有效方法是什么?

0 投票
2 回答
591 浏览

ruby - 如何防止位置参数被扩展为关键字参数?

我想要一个接受散列和可选关键字参数的方法。我尝试定义这样的方法:

当我使用关键字参数调用此方法时,它按我的预期工作:

但是,当我省略关键字参数时,哈希会被吃掉:

我怎样才能防止这种情况发生?有没有防泼溅之类的东西?

0 投票
1 回答
1482 浏览

ruby - 为什么在ruby2.0中改变了true和nil的object_id?

我在某个时候遇到了这个ruby​​ object_id 分配问题,然后阅读了这篇很棒的文章,它讨论了 VALUE 并解释了为什么 object_id 的 true、nil 和 false 是这样的。当我发现关于 true 和 nil 的 object_id 的明显变化时,我一直在玩弄 ruby​​2.0 object_id。

tl;dr: true 和 nil 的值在 1.9.3 和 1.8.7 中分别为 2、4,但在 ruby​​2.0.0 中已更改为 20、8 - 即使 false 的 id 保持不变,即 0 和Fixnum 的 ids 保持相同的旧 2n+1 模式。

此外,Fixnum 和 Bignum 的实现方式在 2.0.0 中仍然是相同的,因为上面提到的文章中给出的示例也与以前相同的方式运行:

这个 object_id 变化背后的原因是什么?

为什么会做出这样的改变?这将如何帮助开发人员?

0 投票
1 回答
7698 浏览

mongoid3 - 可比性问题 rails 4 beta, ruby​​ 2.0.0, mongoid

我正在使用以下版本的 rails、ruby 和 mongoid 创建一个测试应用程序。

我的GemFile长相是这样的

但是当我bundle在控制台上运行时,出现以下错误。

Bundler 找不到 gem "activemodel" 的兼容版本:

任何人都可以帮忙吗?请.....

0 投票
3 回答
748 浏览

ruby-on-rails - 运行 Rails 4 和 Ruby 2.0.0 的 Heroku 上的 Bundler 错误

尝试使用 Heroku Cedar 在 Ruby 2.0.0 上部署一个非常基本的 Rails 4.0.0 beta 1 应用程序。当我尝试推送到 Heroku 时,出现以下捆绑程序错误:

Gemfile如下:

bundle install当我使用 bundler 1.3.4 在本地运行它时,我没有收到任何 bundler 错误

有人对 Heroku Cedar 上的 Edge Rails 有任何想法或经验吗?