On 2010-02-08, Sonja Elen Kisa <sonja / kisa.ca> wrote:
> "foo += 1" somehow seems less elegant or pretty as "foo++".

> Is there any reason Ruby doesn't have ++?

Yes.

> Is it something that might be
> added in a future version?

Very unlikely.

In Ruby, "foo" is not an object, it's a reference to an object.  Not all
objects are mutable.  After:

	foo = 3

"foo" is just a name to refer to the Fixnum 3.  That object CANNOT be
modified.  When you write:
	foo = foo + 1
what happens is:
	We extract the current value of foo (fixnum 3).
	We send that an add message with the other argument being the fixnum 1
	That yields a new object, the fixnum 4
	Foo is changed to be a reference to that new object

You can't increment the underlying object, because fixnums are immutable.

-s
-- 
Copyright 2010, all wrongs reversed.  Peter Seebach / usenet-nospam / seebs.net
http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!