在这个代码的三个地方,我有puts
,其中第一个打印变量与字符串不同的行,第二个也打印。但是第3个给出了相同的一行。
def calliee (name,game)
#puts("#{name}#{game} he might be a bad guy")
return " he might be a bad guy #{name}#{game}"
end
def mymethod(name)
puts("enter your last name")
ss=gets()
#return "#{name}"+"#{ss}"+"he might be a bad guy"
calliee(name,ss)
end
puts("enter tour first name")
tt=gets()
#ww=mymethod(tt)
yy=mymethod(tt)
puts(yy)
puts("#{tt} is 1st name")
puts("prabhu "+"#{2+3}"+"#{4+5}")
我希望一切都在同一条线上,我需要知道为什么会这样。请帮忙
答案 0 :(得分:4)
Kernel#gets
为您提供了一个字符串,其中\n
已添加到字符串的末尾。这会导致输出多行。
要按照您的意愿制作输出,您需要使用#chomp
方法,例如gets.chomp
。
答案 1 :(得分:3)
添加到Arup的答案:
puts
在输出结尾添加换行符。 print
没有。因此,您可能还希望将puts
替换为print
,以便将所有输出都放在一行中。