回答編集履歴
2
初回の表示位置がおかしかったので・・・。すみません。
answer
CHANGED
@@ -17,9 +17,9 @@
|
|
17
17
|
end
|
18
18
|
|
19
19
|
hashA={"test"=>"aaaa"}
|
20
|
+
p hashA
|
20
21
|
arrayA=Array.new
|
21
22
|
arrayA = test(hashA)
|
22
|
-
p hashA
|
23
23
|
#配列に投入したハッシュの値を変更
|
24
24
|
arrayA[0]["test"]="bbbb"
|
25
25
|
p hashA
|
1
変数名を変更
answer
CHANGED
@@ -3,18 +3,17 @@
|
|
3
3
|
hashAそのものの値も変更とありますが、指している値を直接変えるので
|
4
4
|
参照先の値が変わるという解釈で良いと思います。
|
5
5
|
|
6
|
-
コードにすると以下も同じ事で
|
7
6
|
hashAが指している位置は1つしかないので、値だけを渡すならば
|
8
7
|
関数を使っては如何でしょう。
|
9
8
|
|
10
9
|
```ここに言語を入力
|
11
10
|
|
12
11
|
def test(hashA)
|
13
|
-
|
12
|
+
#この時点で新しいメモリに値が移ります
|
14
13
|
#ハッシュを配列に格納
|
15
|
-
|
14
|
+
arrayB=Array.new
|
16
|
-
|
15
|
+
arrayB.push(hashA)
|
17
|
-
return
|
16
|
+
return arrayB
|
18
17
|
end
|
19
18
|
|
20
19
|
hashA={"test"=>"aaaa"}
|