我从不需要从gets
得到的结尾换行符。一半的时间,我忘了chomp
它,这是一个痛苦的....
为什么它会在那里?
发布于 2011-06-22 06:15:12
与puts
(听起来很相似)一样,它是使用\n
字符来处理行的。
gets
有一个可选的参数,用于“拆分”输入(或者“只读直到它到达”)。它默认使用特殊的全局变量$/
,默认情况下包含一个\n
。
gets
是一个用于读取流的非常通用的方法,并且包含了这个分隔符。如果它不这样做,流内容的一部分将丢失。
发布于 2013-01-08 02:38:33
var = gets.chomp
这为您将所有这些都放在了一行中。
发布于 2011-06-22 06:20:50
如果您查看IO#gets
的文档,您会注意到该方法接受一个可选参数sep
,该参数默认为$/
(输入记录分隔符)。您可以决定在除换行符之外的其他内容上拆分输入,例如段落(“零长度分隔符一次读取输入一个段落(输入分隔段落中的两个连续换行符)”):
>> gets('')
dsfasdf
fasfds
dsafadsf #=> "dsfasdf\nfasfds\n\n"
https://stackoverflow.com/questions/6432524
复制相似问题