teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

間違いを訂正

2021/02/20 18:25

投稿

moon_light
moon_light

スコア23

title CHANGED
@@ -1,1 +1,1 @@
1
- 配列[1,2,3]を深いコピーをしたい
1
+ 配列[5, 2, 4, 6, 1, 3]を深いコピーをしたい
body CHANGED
File without changes

2

タイトル

2021/02/20 18:25

投稿

moon_light
moon_light

スコア23

title CHANGED
@@ -1,1 +1,1 @@
1
- Rubyでわからなことがあります
1
+ 配列[1,2,3]を深コピーをしたい
body CHANGED
File without changes

1

タイトル、ソースコードを編集

2021/02/20 18:10

投稿

moon_light
moon_light

スコア23

title CHANGED
File without changes
body CHANGED
@@ -17,7 +17,11 @@
17
17
 
18
18
  @result = []
19
19
  def insertionSort(tmp, n)
20
- ary=tmp.clone
20
+ # ary=tmp.clone ←変更前
21
+ ary = Marshal.load(Marshal.dump(tmp))
22
+ p [tmp.object_id, ary.object_id]
23
+ p [tmp[0].object_id, ary[0].object_id]
24
+
21
25
  (1...n).each{|i|
22
26
  p ary
23
27
  @result << ary
@@ -43,6 +47,8 @@
43
47
  ### 出力
44
48
 
45
49
 
50
+ [13220980, 13220860] # 異なる
51
+ [11, 11] # 同じ
46
52
  [5, 2, 4, 6, 1, 3]
47
53
  [2, 5, 4, 6, 1, 3]
48
54
  [2, 4, 5, 6, 1, 3]