インクリメント
当然C++では可能ですが、JavaScriptなどでも可能かどうかまとめておきます。(すぐに忘れるので。)
言語 | インクリメント(i++) | 複合代入演算子(i+=1) | 演算子オーバーライド | ||||
---|---|---|---|---|---|---|---|
C++ | ○可能 | ○可能 | ○可能 | ||||
Java | ○可能 | ○可能 | ×不可 | ||||
JavaScript | ○可能 | ○可能 | ×不可 | ||||
Ruby | ×不可 | ○可能 | ○可能 |
インクリメント
Rubyだけインクリメントが使えません。要注意です。
演算子オーバーライド
JavaやJavaScriptでは演算子オーバーライドができません。「=演算子」がオーバーライドできればオブジェクトのプロパティ設定をフックできてちょっとうれしいのに。「Modelの更新をリスンする」でset()とか定義しなくていいわけです。(JavaだとGetter/Setterを使え、といわれますが、あれはあれで面倒だよね。)