0

我所拥有的是:

p(array)
array.each { |c| c=c*y**z-1 ; z=z+1  }
p(array)

数组是:

[35, 35, 35]

y是36,z是一个计数器,c是数组中的值。

在我得到公式之前:

[35, 35, 35]

[formula happens]

公式后:

[35, 35, 35]
4

2 回答 2

7

要修改数组本身,请使用#map!, 而不是 的#each方法Array。因为该#each方法仅用于 的值枚举Array,或包含Enumerable模块的其他类。因此,请执行以下操作:

array.map! { |c| c=c*y**z-1 ; z=z+1 ; c }
于 2014-01-17T17:38:17.353 回答
3

Array 类中的each方法不会改变现有实例。它只是迭代它。您应该改用collect!方法。

于 2014-01-17T17:36:29.200 回答