回答編集履歴
2
初回の表示位置がおかしかったので・・・。すみません。
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
変数名を変更
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
|
-
|
23
|
+
#この時点で新しいメモリに値が移ります
|
26
24
|
|
27
25
|
#ハッシュを配列に格納
|
28
26
|
|
29
|
-
array
|
27
|
+
arrayB=Array.new
|
30
28
|
|
31
|
-
array
|
29
|
+
arrayB.push(hashA)
|
32
30
|
|
33
|
-
return array
|
31
|
+
return arrayB
|
34
32
|
|
35
33
|
end
|
36
34
|
|