我拥有的是:
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]
答案 0 :(得分:7)
要修改数组本身,请使用#map!
,而不是Array
的{{3}}方法。因为#each
方法仅用于Array
的值枚举或包含Enumerable
模块的其他类。因此,请执行以下操作:
array.map! { |c| c=c*y**z-1 ; z=z+1 ; c }
答案 1 :(得分:3)
Array类中的each
方法不会改变现有实例。它只是迭代它。您应该使用collect!
方法。