まつもと ゆきひろです

In message "[ruby-list:6259] Re: i++"
    on 98/02/05, GOTO Kentaro <gotoken / math.sci.hokudai.ac.jp> writes:

| > |んで思ったのですが、パーザーだけ変えて ++ を演算子として許し、
| > 他の演算子ならそうするんですが(というかRubyのほとんどの演算
| > 子は実際にそうなってるんですが),++には他の演算子に無い性質,
| > すなわち「変数に対する副作用」があるんで通常のメソッドに出来
| > ないんです.
|
|なるほど

もちろん代入演算子 = は ++ と同様の性質を持っているんですけ
ど,++ を導入することによって,よくある勘違い(操作対象は変数
の差しているオブジェクトではなく,変数に格納されているオブジェ
クトであると思い込む)を助長しそうな気がしてます.

あと,構文糖にするにしても「たかが ++ のために文法を変更する
のもなあ」とか,「あ,--はどうしよう」とか考えてしまうとやる
気が失せちゃうんですね.

|succ! が提案されたときを見落としたのですが、
|いま書くとしたら
|
|class String
|  def succ!
|    self.sub!(/^.*$/, self.succ)
|  end
|end
|
|みたいなもののことですよね?

そうですね.今から実装しよう.
                                まつもと ゆきひろ /:|)