Ruby中的gets.chomp.to_i和gets.chomp有什么区别?它做什么以及如何工作?
gets.chomp.to_i
gets.chomp
mzillmmw1#
gets要求用户输入一些内容,并返回与输入内容完全相同的内容。请注意,返回的值是一个字符串,并且在末尾包含一个换行符(因为用户按了Enter键来提交其响应):
gets
Enter
> gets > 1 # user input => "1\n"
添加chomp会从输入中删除换行符(技术上讲,是记录分隔符),注意"1"现在在末尾缺少换行符,但仍然是一个字符串:
chomp
"1"
> gets.chomp > 1 # user input => "1"
加上to_i会将输入字符串转换为整数,注意返回值现在是整数:
to_i
> gets.chomp.to_i > 1 # user input => 1
使用.to_i执行转换仅对整数输入有意义,因为其他字符串值将返回0:
.to_i
> gets.chomp.to_i > foo # user input => 0
vlju58qv2#
gets在脚本中用于检索用户输入。.chomp用于删除换行符和回车符。请参阅here。gets.chomp返回一个字符串-〉to_i将字符串转换为整数。
.chomp
2条答案
按热度按时间mzillmmw1#
gets
要求用户输入一些内容,并返回与输入内容完全相同的内容。请注意,返回的值是一个字符串,并且在末尾包含一个换行符(因为用户按了Enter
键来提交其响应):添加
chomp
会从输入中删除换行符(技术上讲,是记录分隔符),注意"1"
现在在末尾缺少换行符,但仍然是一个字符串:加上
to_i
会将输入字符串转换为整数,注意返回值现在是整数:使用
.to_i
执行转换仅对整数输入有意义,因为其他字符串值将返回0:vlju58qv2#
gets
在脚本中用于检索用户输入。.chomp
用于删除换行符和回车符。请参阅here。gets.chomp
返回一个字符串-〉to_i
将字符串转换为整数。