【发布时间】:2014-07-13 13:41:33
【问题描述】:
在 Ruby 中,这两个枚举器在功能上有区别吗?
irb> enum_map = [1,2,3].map
=> #<Enumerator: [1, 2, 3]:map> # ends with "map>"
irb> enum_group_by = [1,2,3].group_by
=> #<Enumerator: [1, 2, 3]:group_by> # ends with "group_by>"
irb> enum_map.methods == enum_group_by.methods
=> true # they have the same methods
#<Enumerator: [1, 2, 3]:map> 可以做什么<Enumerator: [1, 2, 3]:group_by> 不能做,反之亦然?
谢谢!
【问题讨论】:
-
后一个,会给你一个
Hash,如果你通过一个块,总是。但事实并非如此,使用前者,它总是会给你一个Array。 -
还有
enum_map.methods == enum_select.methods...
标签: ruby enumerable enumerator