本文介绍了为什么每个阵列#返回具有相同元素的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在学习的细节如何每个
红宝石工作,我尝试了code的以下行:
I'm learning the details of how each
works in ruby, and I tried out the following line of code:
p [1,2,3,4,5].each { |element| el }
和的结果是一组
[1,2,3,4,5]
不过,我不认为我完全理解为什么。为什么每个
同一阵列的返回值?不只是每一个提供迭代的方法?或者是它只是常见的做法在每个
方法返回原来的价值?
But I don't think I fully understand why. Why is the return value of each
the same array? Doesn't each just provide a method for iterating? Or is it just common practice for the each
method to return the original value?
推荐答案
返回[数组]反对它被调用时:块的结果的丢弃的。因此,如果没有的恶心的副作用原来的数组,那么什么都不会发生变化。
Array#each
returns the [array] object it was invoked upon: the result of the block is discarded. Thus if there are no icky side-effects to the original array then nothing will have changed.
也许你的意思是使用地图
?
p [1,2,3,4,5].map { |i| i*i }
这篇关于为什么每个阵列#返回具有相同元素的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!