Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
734 views
in Technique[技术] by (71.8m points)

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

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...