繁体   English   中英

Ruby中gets.chomp.to_i和gets.chomp的区别

[英]Difference between gets.chomp.to_i and gets.chomp in Ruby

gets.chomp.to_igets.chomp中的 gets.chomp 有什么区别? 它是做什么的,它是如何工作的?

gets要求用户输入一些内容,并按照输入的内容准确返回。 请注意,返回值是一个字符串并在末尾包含一个换行符(因为用户按下Enter键提交了他们的响应):

> gets
> 1  # user input
=> "1\n"

添加chomp会从输入中删除换行符(从技术上讲,是记录分隔符)。 请注意, "1"现在末尾缺少换行符,但仍然是一个字符串:

> gets.chomp
> 1  # user input
=> "1"

添加to_i会将输入字符串转换为 integer。请注意,返回值现在是 integer:

> gets.chomp.to_i
> 1  # user input
=> 1

使用.to_i执行转换仅对 integer 输入有意义,因为其他字符串值将返回 0:

> gets.chomp.to_i
> foo  # user input
=> 0

gets在脚本中用于检索用户输入。 .chomp用于删除换行符和回车符。 这里

gets.chomp确实返回一个字符串 -> to_i将字符串转换为 integer。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM