ruby - 为什么 Array#each 返回具有相同元素的数组?

标签 ruby arrays each self

我正在学习 each 如何在 ruby​​ 中工作的细节,我尝试了以下代码行:

p [1,2,3,4,5].each { |element| el }

结果是一个数组

[1,2,3,4,5]

但我不认为我完全理解为什么。为什么each的返回值是同一个数组?每个人不只是提供一种迭代方法吗?或者只是 each 方法返回原始值的常见做法?

最佳答案

Array#each返回调用它的 [array] 对象: block 的结果是 discarded。因此,如果原始数组没有 icky 副作用,那么什么都不会改变。

也许你的意思是使用 map

p [1,2,3,4,5].map { |i| i*i }

关于ruby - 为什么 Array#each 返回具有相同元素的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11596879/

相关文章:

ruby-on-rails - Rails 5,每个页面都需要事件记录

ruby - 如何将字符串与 Ruby 中的命令提示符输入进行比较

ruby-on-rails - View 页面中 Rails 中的简单字符串连接

php - 如何使用 PHP 和 fgetcsv 函数从 CSV 文件创建数组

arrays - 你如何找到异或为零的整数数组的最大子集

c - vector : Static versus Dynamic 的赋值

javascript - 等待 Cypress each() 函数完成

javascript - 根据父数组位置获取最后一个存在的子数组

jQuery 每个循环不适用于 json 数据

javascript - 从指定范围创建一个字符数组