しげひろです.
(ひょっとしたら, さっき空メールを送ってしまったかも知れません. ごめん
なさい.)
私は, ++ は, なくて良いと思っています.
理由は, 美しくない, ことにつきますが, そういう美しくないものが実装され
てしまった時に,
c, c++ 等でもプログラムを書く私は,
何が起こるかも良く考えずに,
無意識のうちに,
指が ++ と打ってしまうかも知れない... ( 怖い (^^;;; )
これは, ある意味で, 見つかりにくいバグを生む危険があるのではないか, と.
----
! を付けて, ++! なら良いかも知れない... (^^)
----
そもそも, ruby には, イテレータがあるので, 配列の各要素をトラバースす
るために,
(c でいうところ) for (i = 0; i < 10; ++i) { a[i] = ...
とか書かなくても良いはずなのです.
c とかで頭が慣れてしまっていると, 無意識のうちに当然のように, こういう
ループを書いてしまうのですが, 本来, 不必要な i という変数を余計に使っ
て, 本来不必要な i という概念に基づいて考えるよりも, 素直に
a.each{|x| ...
と書けば良いのです. すると, ++ が必要なところなんて, (少なくとも, 私の
書くスクリプトの分野では)ほとんどないです.
何かの回数を数える時には仕方なしに
cnt = 0
何かのループ { cnt += 1 }
とかしてますが(何か良い方法があるのだろうか??), この時は, 確かに,
「succ」ではなくて「1 増やす」という意味での ++ が使いたいとも思います.
でも, それなら, 意味から考えても +=1 と書くのも悪くないかな, と.
----
今はいろいろと忙しくって, メールを書いている元気はないのですが...
メーリングリストでは, まつもとさまが一方的に攻められて(^^;いるように見
えるので...
++ が欲しいと思わないと言う人もいるということで, 少しだけ...
----
重弘裕二
阪大情報処理教育センター (sigehiro / rd.ecip.osaka-u.ac.jp)
阪大工情報システム白川研 (sigehiro / ise.eng.osaka-u.ac.jp)