【发布时间】:2013-07-27 18:53:15
【问题描述】:
我有类似的代码
@a.each{ |n|
if n == i then
@b.push n
n = 2*n
end
}
我想遍历一个数组@a,如果某个条件n == i为真,那么使用当前元素n做@b.push n,然后将其更新为n = 2*n。如何迭代选择和修改?
【问题讨论】:
-
你能澄清一下“更新它......就地”吗?你的意思是你希望
@a中的n的值被2*n替换,这样@a现在持有2*n而不是n? -
为什么就地而不是新数组?输入数组是巨大的吗?
-
修改
n的值似乎违背了在@a上迭代n的目的。你的意图不明确。 -
@mbratch,是的。正是