Shiro Kawai
shiro****@lava*****
2004年 11月 24日 (水) 20:01:03 JST
From: OGURISU Osamu <oguri****@lagen*****> Subject: [Gauche-devel-jp] Re: [Q] gauche.array Date: Wed, 24 Nov 2004 18:35:57 +0900 > > 無難な方法としては、array-copyというのを用意しとく、という > > 手はありますね。それならarray限定のセマンティクスを与えておけます。 > > list-copyやvector-copyとの対応でいけば、shallow copyになるでしょう。 > > なるほど。えっと、shallow copyはオブジェクト内部のスロット > は、元の参照先と同一オブジェクトをそのまま参照させるような > コピーですよね。例えば、<u8array>であれば同じ > backing-storageを共有することになると。(あれ?もとのarray > と同じshapeのshare-arrayを作るのともしかして同じのような?) あ、いや、今回の場合、backing-storageもコピーすることを意図して います。ただ、<array>クラスの場合、各arrayの要素が差す先の Schemeオブジェクトは共有されるということです。vector-copyとの 類似で考えて下さい。均質ベクタの場合は差す先がSchemeオブジェクト でないので、差は出ません。 --shiro