问题标签 [ruby-1.9]

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 投票
2 回答
242 浏览

ruby - 哪些版本的 ruby​​ 提高了外部迭代器的速度?

根据这个 ruby​​quiz,外部迭代器过去很慢,但现在更快。这是仅在 YARV(基于 C 的 ruby​​ 1.9 实现)中可用的改进,还是在基于 C 的 ruby​​ 1.8.7 实现中也可用?

另外,是否enum_for依赖外部迭代器?

0 投票
1 回答
1180 浏览

ruby - sphinx、xmlpipe2 和 cassandra

我开始使用 cassandra,我想用 sphinx 索引我的数据库。我编写了用作 xmlpipe 的 ruby​​ 脚本,并配置 sphinx 以使用它。

当我从控制台输出运行脚本时看起来不错,但是当我运行 indexer sphinx 时返回错误

我的脚本很简单

我使用 ruby​​ 1.9.2-head、ubuntu 10.04、sphinx 0.9.9

我怎样才能让它工作?

0 投票
7 回答
14827 浏览

ruby - 检测编码

我从网上得到一些字符串数据,我怀疑它并不总是它所说的那样。我不知道问题出在哪里,我只是不再关心。从这个项目的第一天开始,我就一直在与 Ruby 字符串编码作斗争。我真的很想用某种方式说:“这是一个字符串。它是什么?”,然后使用该数据将其转换为 UTF-8,这样它就不会gsub()在我的应用程序深处爆炸 2,000 行。我已经检查过了rchardet,但即使它现在应该适用于 1.9,但它只是在给定任何带有多个字节的输入时爆炸......这没有帮助。

0 投票
1 回答
8144 浏览

ruby - 如何从 Ruby 中的特定相对路径加载文件?

我正在制作内部使用的宝石。在其中,我从另一个目录加载了一些 YAML:

我宁愿不依赖于data/root.yaml相对的位置initializer.rb。相反,我宁愿参考<project_root>并依赖从那里的相对路径,这似乎是一个更聪明的举动。

首先,这是解决这个问题的最好方法吗?其次,如果是这样,我该怎么做?我检查了各种File方法,但我认为没有类似的方法。我正在使用 Ruby 1.9。

现在,我创建了一个特殊的常量并依赖它:

但我也不确定我是否喜欢这种方法。

0 投票
2 回答
441 浏览

ruby - 如何用新值替换散列中的所有值?

假设我有一个任意深度的嵌套 Hash h

假设我有一个类C定义为:

如何替换所有嵌套值,h以便它们现在是属性设置为该值C的实例?dict例如,在上面的例子中,我希望有类似的东西:

其中<C @dict = ...>代表一个C实例@dict = ...。(请注意,一旦你达到一个非嵌套的值,你就停止在C实例中包装它。)

0 投票
1 回答
753 浏览

ruby - 嵌套数组的功能展开

给定一个包含其他嵌套数组的数组,我想创建一个仅包含第一个数组中的元素的数组。例如 [["1", "2"], "3", [["4"]]] 应该计算为 ["1", "2", "3", "4"]。

我设法制作了一种有效的方法:

但我无法弄清楚如何消除 @@unwrapped_array 变量。

0 投票
2 回答
946 浏览

ruby - hpricot 的编码问题

尝试在 ruby​​ 1.9 中使用 hpricot 抓取网页时出现以下编码错误:

我可以通过执行以下操作来重现错误:

0 投票
5 回答
4929 浏览

ruby - 编写原子操作

根据http://en.wikipedia.org/wiki/Atomicity_(database_systems),我想用 Ruby 执行一些原子性方法

例如,如果我有:

我希望能够做类似的事情:

Ruby 1.9 中是否有允许此类过程的本机模块?如果可能的话,我想在不使用插件的情况下这样做。非常感谢!

0 投票
2 回答
679 浏览

ruby-on-rails - Ruby 1.9、Rails 2.3.9 以及数据库和 erb 视图中的 unicode 字符,仍然不行吗?

我有一个在 Rails 2.3.9 上运行的 Rails 应用程序。它在 ruby​​ 1.8.7 上运行良好。我现在正在用 ruby​​ 1.9.2-head 测试它。

应用程序加载正常,直到我尝试加载依赖于 unicode 字符串的页面。然后我得到臭名昭著的编码错误:

ActionView::TemplateError(不兼容的字符编码:UTF-8 和 ASCII-8BIT)……</pre>

看起来问题是我从数据库中获取了一些字符串作为 ASCII-8BIT。

我知道 Rails 3 适用于 ruby​​ 1.9 和 unicode。我想知道是否已将解决方案向后移植到 2.3。

那么,有没有办法让 unicode 2.3.9 rails 应用程序在 ruby​​ 1.9 下运行?

0 投票
1 回答
216 浏览

ruby - 有没有办法在不加载 ruby​​gems 的情况下调用 ruby​​1.9?

所以 ruby​​ 1.9 非常好,因为它会自动需要 ruby​​gems,因此当你调用require 'somegem'而不首先需要 ruby​​gems 时它会工作,这通常很棒。

但是我有大量使用 ruby​​ 的 shell 脚本,而且它们通常不依赖于 ruby​​gems。Shell 工具应该立即运行,并且无偿加载 ruby​​gems 是一个主要的拖累,主要是因为它涉及一堆带有分散小文件的磁盘操作。

我希望能够告诉 ruby​​ 在运行这些 shell 脚本时跳过加载 gem。理想情况下,类似于#!ruby --no-rubygemsshebang 线。

有这样的事吗?或者也许一个编译选项会告诉 ruby​​ ruby​​gems 必须手动需要?