From: Take_tk Date: 2002-07-26T11:20:04+09:00 Subject: [ruby-list:35633] String::freeze_mode たけ(tk)です  初心者むけの解説で、「String の破壊的メソッドは予期しない結果をもたら す可能性があるので、使わないようにしましょう」などと書いているうちに思っ たのですが・・、  新規に作成される文字列をすべて freeze するモード、というのがあると間違 いが少なくなるのではないかと思いました。 具体的には、 (1)String に @@freeze_mode というクラス変数を用意して、  String.freeze_mode = true で @@freeze_mode を変更する。 (2)@@freeze_mode =true の場合には、それ以後作成される文字列が原則とし てすべて freeze される。String#melt、String::new(str,false)の場合を除く。 (3)String#melt で、その文字列の freeze されない複製を返す。破壊的メソッ ドを使う場合には String#melt で複製を取り出してから使う。 (4)String.freeze_mode = false なら現在の仕様と同じ(デフォルト)。 (5)String::new(str, freeze=String.freeze_mode) とする。 ** 文字列は String#new 以外で作られることが多いので、内部の改造が必要。 Take_tk = KUMAGAI Hidetake たけ(tk)=熊谷秀武