Hacker News new | ask | show | jobs
by kawsper 1795 days 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.
1 comments

And 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"