Ruby – ‘gets’添加换行符
我写了这个:
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
方法; 它只是在控制台中输出结果,而没有让我有机会输入任何东西。 任何的想法?
当您使用gets
,输入后面会跟一个换行符,因此您需要在打印之前去掉换行符。
print "Enter your name:" name = gets.chomp puts "Hello #{name}. Pleased to meet you."
这应该可以解决你的问题。
你报告的内容不会发生。 这不可能是真的。 当你通过gets
得到一个字符串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."
。