Well, the beauty of Ruby is that you can change that as you see fit! But ther seems little reason for having a return value that matches the value you want to output if you are outputting the value anyway. The value hasn't changed and is already located in it's own little object. Seems in Ruby it's easy enough to pass that value to output and to anywhere else you need it/ want it. It's made with C, but I don't think it works like C.