为什么字符串在ruby中不会出现在同一行

时间:2015-02-24 06:37:27

标签: ruby string

在这个代码的三个地方,我有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}")

我希望一切都在同一条线上,我需要知道为什么会这样。请帮忙

2 个答案:

答案 0 :(得分:4)

Kernel#gets为您提供了一个字符串,其中\n已添加到字符串的末尾。这会导致输出多行

要按照您的意愿制作输出,您需要使用#chomp方法,例如gets.chomp

答案 1 :(得分:3)

添加到Arup的答案:

puts在输出结尾添加换行符。 print没有。因此,您可能还希望将puts替换为print,以便将所有输出都放在一行中。