3 ms·
irb(main):001:0> nine = while 1 do break 9 end => 9 irb(main):002:0> nine.class => Integer irb(main):003:0> puts nine 9 => nil puts might be call
by kawsper 5y ago
irb(main):001:0> nine = while 1 do break 9 end
=> 9
irb(main):002:0> nine.class
=> Integer
irb(main):003:0> puts nine
9
=> nil
puts might be calling .to_s on the variable, which is why you see a string, but the loop does return an integer.
- quesera 5y agoAnd just to be clear, to_s will return a string, but it will definitely not do the craziness of converting an integer into an English representation of the number! 9.to_s => "9"