我正在学习 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/