为什么ruby中的字符串不在同一行中
在这段代码中,我在三个地方放置了为什么ruby中的字符串不在同一行中,ruby,string,Ruby,String,在这段代码中,我在三个地方放置了put,其中第一个用字符串在不同的行中打印变量,第二个也一样。但第三个在同一行中给出 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 la
put
,其中第一个用字符串在不同的行中打印变量,第二个也一样。但第三个在同一行中给出
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}")
我希望一切都在同一条线上,我需要知道为什么会发生这种情况。请帮助为您提供一个字符串,该字符串的末尾添加了\n
。导致多行输出的原因
要使输出符合您的要求,您需要使用方法,如
gets.chomp
添加到Arup的答案中:
put
在输出的末尾添加一个换行符<代码>打印不打印。因此,您可能还希望将put
替换为print
,以便将所有输出都放在一行。您需要将yy
和tt
中的换行符去掉,以便将其全部放在一行。查看获取输入时的说明。我想OP确实知道#put
而不是#get
:我的回答是。。“以防万一”…:p谢谢你的回答..但我也想要一个@Arup已经给出的理由。虽然你给了我另一个选项,所以uput的+1不能简单地添加换行符。它在每个参数后写一个换行符(必要时将其转换为字符串),但前提是该参数尚未以换行符结尾。因此,将“foo”、“bar\n”、“baz”
写入stdout中的“foo\nbar\nbaz\n”
,产生3行。