1

私はこれにほぼ類似したことをしようとしています

collection = []
pair_one = [[:ae1,:be1],[:ae2,:be2]]
collection << pair_one
pair_two = [[:ae3,:be3],[:ae4,:be4]]
collection << pair_two

問題は、次のことcollectionです。

[[[:ae1, :be1], [:ae2, :be2]], [[:ae3, :be3], [:ae4, :be4]]] 

そして私はそれがこれであることを望みます:

[[:ae1, :be1], [:ae2, :be2], [:ae3, :be3], [:ae4, :be4]]

の代わりにどの方法を使用すればよい<<ですか?

基本的に、配列自体ではなく、との内容をに追加したいと考えています。メモリをエスケープしている配列メソッドは何ですか?pair_onepair_twocollection

4

1 に答える 1

2

concat+=または_|=

concat不要なオブジェクトの作成を避けるため。
|=重複を排除するため。

collection = []
#=> []
pair_one = [[:ae1,:be1],[:ae2,:be2]]
collection += pair_one
#=> [[:ae1, :be1], [:ae2, :be2]]
pair_two = [[:ae3,:be3],[:ae4,:be4]]
collection += pair_two
#=> [[:ae1, :be1], [:ae2, :be2], [:ae3, :be3], [:ae4, :be4]]
于 2012-11-07T02:54:24.793 に答える