回答編集履歴

2

初回の表示位置がおかしかったので・・・。すみません。

2016/04/26 10:06

投稿

toshi_yama
toshi_yama

スコア133

test CHANGED
@@ -36,11 +36,11 @@
36
36
 
37
37
  hashA={"test"=>"aaaa"}
38
38
 
39
+ p hashA
40
+
39
41
  arrayA=Array.new
40
42
 
41
43
  arrayA = test(hashA)
42
-
43
- p hashA
44
44
 
45
45
  #配列に投入したハッシュの値を変更
46
46
 

1

変数名を変更

2016/04/26 10:06

投稿

toshi_yama
toshi_yama

スコア133

test CHANGED
@@ -7,8 +7,6 @@
7
7
  参照先の値が変わるという解釈で良いと思います。
8
8
 
9
9
 
10
-
11
- コードにすると以下も同じ事で
12
10
 
13
11
  hashAが指している位置は1つしかないので、値だけを渡すならば
14
12
 
@@ -22,15 +20,15 @@
22
20
 
23
21
  def test(hashA)
24
22
 
25
- hashA ={"test2"=>"CCCC"}
23
+ #この時点で新しいメモリに値が移ります
26
24
 
27
25
  #ハッシュを配列に格納
28
26
 
29
- arrayA=Array.new
27
+ arrayB=Array.new
30
28
 
31
- arrayA.push(hashA)
29
+ arrayB.push(hashA)
32
30
 
33
- return arrayA
31
+ return arrayB
34
32
 
35
33
  end
36
34