为什么每个阵列#返回具有相同元素的数组

为什么每个阵列#返回具有相同元素的数组

本文介绍了为什么每个阵列#返回具有相同元素的数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在学习的细节如何每个红宝石工作,我尝试了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 }

这篇关于为什么每个阵列#返回具有相同元素的数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-14 11:23