Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
736 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 Reply

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...