-4

我写了这个:

print "Enter your name:"
name = gets
puts "Hello #{name}. Please to meet you." 

结果是这样的:

Hello Moemen
. Pleased to meet you
  • 为什么变量后字符串的其余部分在另一行继续?我想要它"Hello Moemen. Pleased to meet you."是我错过了什么吗?

  • 我正在使用 sublime text 2,但我无法获得gets让我输入数据的方法;它只是在控制台中打印结果,而没有给我输入任何内容的机会。任何想法?

4

2 回答 2

6

当您使用gets时,输入后面将跟一个换行符,因此您需要在打印出来之前去掉换行符。

print "Enter your name:"
name = gets.chomp
puts "Hello #{name}. Pleased to meet you."

那应该可以解决您的问题。

于 2013-07-16T05:58:10.517 回答
1

你报告的事情不会发生。这不可能是真的。当你得到一个字符串时gets,你可能会得到一个字符串"Moemen\n"。由于输入由 分隔"\n",因此字符串的末尾有它。当它被插入 时"Hello #{name}. Please to meet you.",你会得到:

Hello Moemen
. Please to meet you.

但不是

Hello Moemen
. Pleased to meet you

当你报告。这不会发生。

为了得到"Hello Moemen. Pleased to meet you.",您需要将字符串更改为"Hello #{name.chomp}. Pleased to meet you.".

于 2013-07-16T06:22:59.667 回答