我了解到,gets创建一个新行并要求用户输入内容,并gets.chomp执行相同的操作,但不会创建新行.gets必须返回一个对象,所以你可以调用一个方法,对吗?如果是这样,让我们将该对象命名gets为as tmp,那么你可以调用该chomp方法tmp.但在gets返回之前tmp,它应该在屏幕上打印一个新行.那怎么chomp办?是否在创建后删除了新行?gets
重新解释我的问题的另一种方法是:我打电话时是否执行了以下操作gets.chomp?
gets 打印一个新行gets 回报 tmptmp.chomp 删除新行这是正确的顺序吗?
Joe*_*oey 68
gets让用户输入一行并将其作为值返回给您的程序.该值包括尾随换行符.如果您随后调用chomp该值,则会断开此换行符.所以不,你所拥有的是不正确的,它应该是:
gets 获取一行文本,包括最后的换行符.
gets 将该行文本作为字符串值返回.chomp该值可以删除换行符您在屏幕上看到文本行的事实仅仅是因为您首先在那里输入了文本.gets不会神奇地抑制你输入的东西的输出.
app*_*lis 14
问题不应该是,如果这是正确的顺序,但如果这是接近这一点的正确方法则更多.这是你做的.
看看这个,或多或少是你想要"实现"的东西.首先,指定一个名为tmp返回值的变量gets.然后在该对象上调用chomp(如Ruby文档中所述)方法,您可以看到chomp删除了新行.实际上是什么chomp,删除字符串末尾的Enter字符.当您键入h e l l o,每次烧焦在一个时间,然后按Enter获得需要的所有信件和的Enter.请记住,这Enter只是另一个角色.
1. tmp = gets
hello
=>"hello\n"
2. tmp.chomp
"hello"
Run Code Online (Sandbox Code Playgroud)
Gets 是您的用户输入.此外,这是很好的了解,gets或者puts,意味着get string*或put string为puts.这意味着这些方法只处理strings.
| 归档时间: |
|
| 查看次数: |
83166 次 |
| 最近记录: |