我了解到,创建一个新行并且要求
用户输入一些东西,而gets.chomp做同样的事情,除了它不会创建一个新行. get必须返回一个对象,所以你可以
调用一个
方法吧?如果是这样,可以将返回的对象命名为tmp,然后
调用tmp的chomp
方法.但是在
获取tmp之前,它应该在屏幕上打印一行.那么chomp做什么?创建它后,它会
删除新行吗?
另一种重新阐述我的问题的方法是:当我调用gets.chomp时,执行以下操作吗?
>打印一行新行
>获取返回tmp
> tmp.chomp删除新行
>用户输入
这是正确的顺序吗?
get让
用户输入一行,并将其作为值返回给程序.该值
包括尾随换行符.如果您在该值上
调用chomp,则该换行将被切断.所以不,你有什么不正确,应该是:
得到一行文本,包括最后一行换行符.
>这是用户输入
获取返回该行文本作为字符串值.
>在该值上调用chomp会删除换行符
事实上,您在屏幕上看到文本行只是因为您首先在那里输入文本.获得不会神奇地抑制你输入的东西的输出.