Ruby に関する質問です。下記のスクリプトを実行すると

blankArray = Array.new(4,0)
tempArray = blankArray
tempArray[0] =1
tempArray[3] =1
puts blankArray

実行結果
1
0
0
1

になります。blankArray の中身がかわっているのですが、このような仕様なのでしょうか?
Ruby の マニュアル等に注意事項という形でかかれているところがあったら教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/03/16 23:41:05
  • 終了:2008/03/17 00:02:42

回答(1件)

id:garyo No.1

garyo回答回数1782ベストアンサー獲得回数962008/03/16 23:46:01

ポイント60pt

http://d.hatena.ne.jp/gan2/20070729/1185711525

浅いコピー(shallow copy)と

深いコピー(deep copy)の話ではないかと思います。

id:isogaya

うーん、これって間違いやすそうですね。

2008/03/17 00:02:32
  • id:worris
    回答は間違いです。
    参照渡しの話です。
    ブックマークページで指摘されています。
    http://b.hatena.ne.jp/entry/http://q.hatena.ne.jp/1205678462

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません