[Anthy-dev 2285] Re: r5rs: 訂正

Back to archive index

Jun Inoue jun.l****@gmail*****
2005年 8月 25日 (木) 07:10:00 JST


On Wed, 24 Aug 2005 22:20:19 +0900
Kazuki Ohta <mover****@hct*****> wrote:

> > そう、それともう一つ訊きたいことが(どっかで既に訊いたような気も)。Copy-
> > on-write な string オブジェクトは実装する予定はあるんでしょうか (i.e.
> > string のデータは \0-terminated と仮定していいかどうか)
> COWにする事で\0-terminatedが保証されるかに影響するのでしょうか?
> COWは同じ文字列を使いまわすだけで、終端文字等はかかわって来ないと
> 認識しているのですが。不勉強だったらごめんなさい。

あ、COW というよりむしろ部分文字列ですね。すいません。
例えば
(define complaint "蚊ゆいうざい")
(define cause (substring complaint 0 1))
としたとき、string データが全て \0-terminated だと cause の値を作るとき
に complaint の一文字目をどこかにコピーして後ろに \0 を付け足す必要があ
ります。文字列長を int で管理して COW にすると、string-set! が無い限り最
初の文字列を切り取り次第に使いまわせます。

-- 
Jun Inoue
jun.l****@gmail*****



Anthy-dev メーリングリストの案内
Back to archive index