QA@IT

Rubyで値をインクリメントするのにi++は使えない?

2656 PV
i = 0
i++
puts i

というのがRubyで動きません。前置や後置の++はRubyでは使えないのでしょうか?

回答

これは Ruby が実現しているオブジェクト指向において、
++, -- という演算子が妥当ではなく、採用されていないためです。

下記の投稿では matz さん自身が、これについて答えています。

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/5323

[引用]
「++の動作が本質的に「変数を操作する」ものであるため,変数がオブジェクトでな
いRubyでは導入できないでいます.++や--の「オブジェクト指向的意味」が
Rubyの他の部分と整合性を保ったまま定義できれば採用したいのですが….」

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。