Walton Hoops wrote:
>> -----Original Message-----
>> From: bascule / gmail.com [mailto:bascule / gmail.com] On Behalf Of Tony
>> Arcieri
>> wrote:
>> I think you're missing why ++ could be useful, and it's precisely
>> because
>> Ruby is a "21st century language"
>>
>> The ++ operator, far more than just being syntactic sugar for +=1,
>> would
>> allow you to send an "increment" message to any object, which would
>> change
>> its value in place, i.e.
>>
>>   def ++
>>     incrementing_logic_goes_here
>>   end
>>
>> I could see this as being handy 
> 
> But you already can with the mechanics of the language that are already
> present!
> 
> irb(main):003:0> i=15
> => 15
> irb(main):004:0> i=i.succ
> => 16
> irb(main):005:0> i="15"
> => "15"
> irb(main):006:0> i=i.succ
> => "16"
> irb(main):007:0> i=1.2
> => 1.2
> irb(main):008:0> i=i.succ
> NoMethodError: undefined method `succ' for 1.2:Float
>         from (irb):8
>         from /usr/local/bin/irb:12:in `<main>'
> 
> In an object that it makes sense to increment, define the #succ method!
> It's that easy!
> 
> 
But i.succ does Not work in the following:

i = 1
while (i < 10)
   puts i.succ
end

the only way to get this to work is to use:
   puts i; i = i.succ

which is not as clean as using puts i++.