Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it ever necessary to use 'chomp' before using `to_i` or `to_f`?

Tags:

ruby

I see people use the following code:

gets.chomp.to_i

or

gets.chomp.to_f

I don't understand why, when the result of those lines are always the same as when there is no chomp after gets.

Is gets.chomp.to_i really necessary, or is gets.to_i just enough?

like image 855
vgoff Avatar asked Dec 15 '13 19:12

vgoff


Video Answer


1 Answers

From the documentation for String#to_i:

Returns the result of interpreting leading characters in str as an integer base base (between 2 and 36). Extraneous characters past the end of a valid number are ignored. If there is not a valid number at the start of str, 0 is returned

String#to_f behaves the same way, excluding, of course, the base numbers.

Extraneous characters past the end of a valid number are ignored, this would include the newline. So there is no need to use chomp.

like image 176
user1251007 Avatar answered Sep 22 '22 18:09

user1251007