Tag: ruby

漂浮在ruby中的精度

我正在写一个使用浮点数的ruby程序。 我的精度有问题。 例如 1.9.3p194 :013 > 113.0 * 0.01 # => 1.1300000000000001 因此 1.9.3p194 :018 > 113 * 0.01 == 1.13 # => false 这正是我的应用程序需要正确计算的那种计算方式。 这是预期的吗? 我该怎么办呢?

仅从IMAP服务器获取新邮件

我正在编写一个客户端应用程序,它从IMAP服务器获取电子邮件,然后将它们存储在数据库中。 问题是,一旦我检查了邮件,下次我只想下载自那以后到达的邮件。 因此,如果我在两小时前检查过服务器邮件,我只想收到过去两小时内收到的邮件。 我可以在SINCE DATE使用SEARCH,但是没有时间支持+日期可能很容易被欺骗。 我也尝试了RECENT标志,但这似乎不适用于gmail(在ruby中它每次都显示为nil)。

在mac(libxml2)上安装nokogiri 1.6.0时出错

更新:已修复 我在另一个post中找到了答案。 我使用的解决方法是告诉Nokogiri使用系统库: NOKOGIRI_USE_SYSTEM_LIBRARIES=1 bundle install ==== 试图在Mac上安装nokogiri 1.6.0。 在以前的版本中,我没有遇到任何问题。 但1.6.0拒绝安装。 这是错误: Building native extensions. This could take a while… ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /Users/josenriq/.rvm/rubies/ruby-1.9.3-head/bin/ruby extconf.rb Extracting libxml2-2.8.0.tar.gz into tmp/i686-apple-darwin11/ports/libxml2/2.8.0… ERROR tar: This does not look like a tar archive tar: Skipping to next header tar: Archive contains […]

我可以在Ruby 1.9上设置默认字符串编码吗?

这可能听起来很小,但它让我疯了。 自上周五在Ruby 1.9上将应用程序发布到生产以来,我一直有很多与字符编码有关的小例外。 几乎所有这些都是一些变化: Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8 我们有一个国际用户群,所以很多名字都包含变音符号等。如果我修复模板在一堆地方使用force_encoding ,它会弹出flash消息助手。 等等。 目前看起来我已经确定了我所知道的所有内容,通过在一个地方修补ActiveSupport的字符串连接,然后在每个源文件的顶部设置#coding # encoding: utf-8 。 但是,我可能必须记住为我从现在开始的每个Ruby项目的每个文件都做到这一点的感觉,永远,只是为了避免字符串分配问题,并不适合我的胃。 我读到了关于-Ku开关的信息,但是所有内容似乎都警告说这是为了向后兼容并且可能随时消失。 所以我对1.9经验丰富的人提出的问题是:在我的每个文件中设置#encoding 真的有必要吗? 在全球范围内有合理的方法吗? 或者,更好的方法是在绕过内部/外部默认值的字符串的非文字值上设置默认编码? 在此先感谢您的任何建议。

使用$ sudo bundle exec …引发’bundle:command not found’错误

我在Ubuntu服务器上安装了rbenv。 我可以进入我的应用程序目录并运行$ bundle而不会出现问题,但是我需要运行$ sudo bundle exec …这会给我一个错误: bundle:找不到命令 为什么这样,我该如何解决?

ruby中的数组数组,通过引用传递

我正在尝试在Ruby中创建一个填充零的5×5矩阵。 我使用的代码是: ruby-1.9.2-p290 :014 > a = Array.new(5, Array.new(5, 0)) => [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 但是,新创建的数组不是单独的对象,而是对一个对象的引用。 因此,当我尝试执行以下操作时: a[2][2] = 1我得到: => [[0, 0, 1, 0, 0], [0, 0, 1, 0, 0], [0, 0, 1, […]

访问ruby中的对象内存地址..?

有没有办法在ruby中获取对象的内存地址.. 说.. (i = 5)是可以得到该对象的mem地址5 .. 一段时间以来,我一直在尝试这个…… 任何答案都会非常感激…… 谢谢, 关心levirg

这种ruby注射魔法是如何工作的?

我今天看到了一个ruby代码片段。 [1,2,3,4,5,6,7].inject(:+) => 28 [1,2,3,4,5,6,7].inject(:*) => 5040 这里的注射与我之前看到的完全不同,比如 [1,2,3,4,5,6,7].inject {|sum, x| sum + x} 请解释它是如何工作的?

Ruby:STDIN.gets()和gets.chomp()之间有什么区别?

Ruby中的STDIN.gets()和gets.chomp()什么区别? 他们不是都从用户那里检索原始输入吗? 问题:如果我想将他们的输入转换为整数,我该怎么做 myNumb = Integer(STDIN.gets()) 和 myNumb = Integer(gets.chomp())

如何在rails中缓存计算列?

我有一个活动记录对象树,如: class Part “Part” def complicated_calculation if sub_parts.size > 0 return self.sub_parts.inject(0){ |sum, current| sum + current.complicated_calculation } else sleep(1) return rand(10000) end end end 每次重新计算复杂计算成本太高。 所以,我需要一种缓存值的方法。 但是,如果更改了任何部分,则需要使其缓存及其父级和祖父级等的缓存无效。 作为草稿,我创建了一个列来保存“部分”表中的缓存计算,但这有点臭。 看起来应该有一种更简洁的方法来缓存计算值,而不会将它们放在“真实”列旁边。