首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >map、each和collect之间的区别是什么?

map、each和collect之间的区别是什么?
EN

Stack Overflow用户
提问于 2012-02-24 18:20:22
回答 2查看 39.3K关注 0票数 62

在Ruby中,eachmapcollect的功能有什么不同吗

EN

Stack Overflow用户

回答已采纳

发布于 2012-02-24 18:25:51

each不同于mapcollect,但mapcollect是相同的(从技术上讲,mapcollect的别名,但根据我的经验,map的使用频率要高得多)。

each为(Enumerable)接收器中的每个元素执行封闭的块:

代码语言:javascript
运行
复制
[1,2,3,4].each {|n| puts n*2}
# Outputs:
# 2
# 4
# 6
# 8

mapcollect生成一个新的Array,其中包含应用于接收器的每个元素的块的结果:

代码语言:javascript
运行
复制
[1,2,3,4].map {|n| n*2}
# => [2,4,6,8]

还有定义在Array上的map! / collect!;它们在适当的地方修改接收器:

代码语言:javascript
运行
复制
a = [1,2,3,4]
a.map {|n| n*2} # => [2,4,6,8]
puts a.inspect  # prints: "[1,2,3,4]"
a.map! {|n| n+1}
puts a.inspect  # prints: "[2,3,4,5]"
票数 117
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9429034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档