From: Suicidal Penguin Date: 2013-08-05T13:32:39+09:00 Subject: Re: Why does the next() method behave this way? Think of it as mathematics: z is 9 when you do z.next which is equivalent to 9+1 which results in 1 carry to the digit the the left. So think of baz as 219 baz.next => 219+1 = 220 so in this case z will be incremented to a, a will get the carry from z and increment to b. Hope that helps. -- Posted via http://www.ruby-forum.com/.