- Ruby 初心者スレッド Part 57©2ch.net [転載禁止]©2ch.net
100 :デフォルトの名無しさん[sage]:2015/03/31(火) 13:58:02.55 ID:meXl7bV+ - >>98
条件付きでできる 配列の要素に別名を付けるというわけではなく 配列の要素であるオブジェクトを別の変数名でも参照するようにする(2行目) そのオブジェクトを破壊的に変更すればどちらから見ても変更されていることになる(3〜6行目) ただし、別のオブジェクトを参照するように再代入した場合は 参照するオブジェクトが変わっただけで元のオブジェクトは変更されていないので もう片方から見ると変わっていないことになる(7〜8行目) 下記例では配列の要素がArray型のオブジェクトなのでうまくいくが、ただの整数とかだと破壊的変更ができないのでできない irb(main):001:0> a=[[1,2],[2,3]] #=> [[1, 2], [2, 3]] irb(main):002:0> b=a[1] #=> [2, 3] irb(main):003:0> b<<5 #=> [2, 3, 5] irb(main):004:0> a #=> [[1, 2], [2, 3, 5]] irb(main):005:0> b.delete(2) #=> 2 irb(main):006:0> a => [[1, 2], [3, 5]] irb(main):007:0> b=3 #=> 3 irb(main):008:0> a #=> [[1, 2], [3, 5]]
|