前田です。 In message "[ruby-list:6257] Re: Ruby連載 第4話" Yukihiro Matsumoto <matz / netlab.co.jp> wrote: || そうならないように, 最初「数値定数は」と書いたものを「数値は」と書き || 換えたんですが. ようするに immutable object は評価すると必ずコピーを || 返す. | |似た例としては現在の文字列定数がありますが,これはリテラルを |評価すると毎回新しいコピーを作りますが,代入のタイミングでは |コピーを作りません.「代入は参照の変更に過ぎない」ってのは |Rubyの言語モデルのかなり基本的な部分なんですが,ここを変更す |るのはかなり大胆な変更ですよね. syntax sugarのためにそこまでするのは本末転倒のような 気がします。 # 今のモデルの方がエレガントだと思いますし。 var++をvar = var.succとする案にはそれほど抵抗はないのですが、 問題があるとすれば、自己代入が起こる他の演算子と違って = が 入っていないので破壊的なメソッドと勘違いされそうなことですね。 foo = 1 bar = foo bar++ などとした時にfooが2になることを期待する人が出そうです。 # ++はないんですか? という質問の代りに++でうまくインクリメント # されないんですけど...という質問がFAQになったりして(^^; あと--の定義も問題だと思います。 -- 前田 修吾