迭代时,我每次都将一些数据保存为哈希。在同一个循环中,我将散列推送到一个数组中。Ruby - 将哈希推向阵列
下面的代码不起作用,最后一个哈希对象会覆盖数组中的所有其他哈希对象。
playlists = []
aPlaylist = {}
while (count < 3)
#some code... produces the hash "aPlaylist"
playlist << aPlaylist
end
下面的代码确实有效。为什么,还有什么区别?
playlists = []
while (count < 3)
aPlaylist = {}
#some code... produces the hash "aPlaylist"
playlist << aPlaylist
end
这里是正确与错误输出(转换成CSV): http://imgur.com/a/rjmBA。
_“最后散列对象覆盖数组中的所有其他数据“_ - 你能显示错误的结果吗? – Stefan
这完全取决于您遗漏的“某些代码”。 –
我用图像更新了问题。 @JörgWMittag我不这么认为,其他答案解释了原因。 – Emre