我写了这个:
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
方法让我输入数据;它只是在控制台中输出结果,而没有让我有机会输入任何东西。有什么想法吗?
答案 0 :(得分:6)
当您使用gets
时,输入后面会跟一个换行符,因此您需要在打印前删除换行符。
print "Enter your name:"
name = gets.chomp
puts "Hello #{name}. Pleased to meet you."
这应该可以解决你的问题。
答案 1 :(得分: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."
。