95得票5回答
Ruby是否执行尾调用优化?

函数式语言通常使用递归解决许多问题,因此其中许多语言都执行尾调用优化(TCO)。尾调用优化使得从另一个函数(或者是自身,在这种情况下该特性也被称为尾递归消除,它是TCO的一个子集)调用一个函数在该函数的最后一步不需要新的堆栈帧,从而减少开销和内存使用。 Ruby 显然从函数式语言中“借鉴”了...

16得票2回答
安装Rails插件时出现警告

我在安装 Rails 应用程序中的任何插件时都会收到以下警告。/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-2.3.5/lib/active_support/core_ext/kernel/agnostics.rb:7: warning: ...

20得票8回答
在使用Nginx和Passenger的Rails应用中出现403 Forbidden错误

首先,抱歉:我知道403 Forbidden问题对于Rails/Nginx的安装来说是一个常见的问题,但迄今为止我读过的所有答案都没有解决它。 声明:这是我第一次在不是Heroku的地方部署Rails应用程序,请多关照。 ;) 情况是这样的:我在运行着Nginx(使用Passenger安装...

84得票3回答
严格将字符串转换为整数(或nil)

在Web编程中,数字通常出现为字符串形式。但是to_i会将"5abc"转换为5,而将"abc"转换为0,这两个结果都是错误的。为了避免这种情况,我写了以下代码:def number_or_nil( s ) number = s.to_i number = nil if (number....

21得票3回答
从IMAP服务器获取仅新邮件

我正在编写一个客户端应用程序,用于从IMAP服务器获取电子邮件并将其存储在数据库中。问题是,一旦我检查了邮件,下一次我只想下载自那时以来到达的邮件。因此,如果我两个小时前检查过服务器上的邮件,则只想获取最近两个小时内到达的邮件。 我可以使用SINCE DATE进行搜索,但是对于时间+日期没有...

179得票6回答
如何在哈希表中交换键和值

如何交换哈希表中的键和值? 我有以下的哈希表:{:a=>:one, :b=>:two, :c=>:three} 我想要转换成:{:one=>:a, :two=>:b, :three=>:c} 使用 map 似乎相当繁琐。是否有更简洁的解决方案?

50得票3回答
设置 'EDITOR' 或 'BUNDLER_EDITOR' 环境变量

我正在尝试在Sublime Text中打开一个gem,但没有成功。 我已经安装了Bundler。 这里是发生的情况。在命令行中:$bundle open Devise To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR 当我访问Bundl...

241得票5回答
Rails参数解释?

有人可以解释一下Rails控制器中的params吗:它们来自哪里,以及它们引用了什么? def create @vote = Vote.new(params[:vote]) item = params[:vote][:item_id] uid = params[:vo...

21得票5回答
从我的 Ruby 应用程序构建 Windows 可执行文件?

我想要将一个Ruby应用发送给同事,而不需要他们安装Ruby解释器。最好只需一个可执行文件。 我搜索了一下并找到了"RubyScript2Exe"。 您对此有何经验?是否有其他类似的工具或比构建可执行文件更好的方法?

7得票2回答
Ruby正则表达式:+和*的特殊行为?

使用 Ruby 正则表达式,我得到了以下结果: >> 'foobar'[/o+/] => "oo" >> 'foobar'[/o*/] => "" 但是: >> 'foobar'[/fo+/] => "foo" >> '...