【发布时间】:2016-04-10 23:17:49
【问题描述】:
当我使用 map、select 和其他 Enumerable 方法时,我注意到以下行为差异。
假设我们有一个如下所示的哈希:
h = {a: 1}
以下代码按预期打印select 的输出。
p h.select { |k, v| true }
#=> {:a=>1}
但是,下面的代码显示输出是Enumerator,即使提供了一个块。
p h.select do |k, v|
true
end
#=> #<Enumerator: {:a=>1}:select>
知道为什么会有这种行为差异吗?我经常遇到这个问题,因为我在工作时一直使用inspect p,这种行为经常使我的思维过程脱轨。
【问题讨论】:
标签: ruby