回答編集履歴
1
例示
answer
CHANGED
@@ -1,4 +1,14 @@
|
|
1
1
|
それはそうなります。
|
2
2
|
ArrayにHashを入れるときに、Hashのコピーを作って入れるわけじゃなくて、そのHashそのものを入れるので、そのHashをclear(要素をすべて削除)すれば、空になります。
|
3
3
|
|
4
|
-
オブジェクトのコピーは、dupやclone等で明示的に行わない限り、されません。
|
4
|
+
オブジェクトのコピーは、dupやclone等で明示的に行わない限り、されません。
|
5
|
+
|
6
|
+
追記(もっとシンプルな例):
|
7
|
+
```Ruby
|
8
|
+
a = {:foo=>1} # Hashを生成して、それに a という名前を付ける
|
9
|
+
b = a # a という名前の付いたHashに b という別名を付ける
|
10
|
+
p b #=> {:foo=>1} # その a および b という名前の付いたHashを表示する
|
11
|
+
a.clear # a および b という名前の付いたHashの内容を空にする
|
12
|
+
p b #=> {} # a および b という名前の付いたHashは空である
|
13
|
+
```
|
14
|
+
1つのオブジェクトにはいくつでも名前を付けられます。
|