From: Kenta Murata Date: 2010-08-18T13:17:30+09:00 Subject: [ruby-dev:42060] Re: [Feature #3675] String#prepend, String#>> むらたです。 On 2010/08/18, at 8:32, Sora Harakami wrote: > 普通に現在の実装ではだめなのですか. 現在の実装を否定するものではありません。 >> On 2010/08/10, at 22:23, Yukihiro Matsumoto wrote: >> >>> 非常に興味深いです。ただ、いくつか気になる点があります。 >>> >>> (1) 実装上のことですが、appendと異なり、prependは、文字列領域 >>> を拡張した上で、現在の文字列の内容をコピーし、それから引 >>> 数の内容を先頭からコピーすることになります。 この見解に対する反論の一つとして提示しているだけです。 中田さんが [ruby-dev:42010] で On 2010/08/12, at 12:46, Nobuyoshi Nakada wrote: > Copy-on-Write化を進めれば可能ですが、その代わりRSTRING_PTRが > null-terminateされていないケースが出てきます。現在でも > StringValueCStr()を呼ばない限りは保証はされないのですが、昔の前 > 提のまま依存している拡張ライブラリは修正が必要であり、どの程度影 > 響があるか予測できません。 と仰っているように、文字列を共有させると Ruby の処理系自身や 拡張ライブラリに大きな影響を与える可能性があって、 実現するにしても慎重にならざるを得ません。 -- Kenta Murata OpenPGP FP = 1D69 ADDE 081C 9CC2 2E54 98C1 CEFE 8AFB 6081 B062 本を書きました!! 『Ruby 逆引きレシピ』 http://www.amazon.co.jp/dp/4798119881/mrkn-22 E-mail: mrkn@mrkn.jp twitter: http://twitter.com/mrkn/ blog: http://d.hatena.ne.jp/mrkn/