2015-02-24 50 views
0

在這個代碼中,我在三個地方有puts,其中第一個字符串和第二個字符串在不同行中打印變量。但第三個在同一行。爲什麼字符串不在紅寶石的同一行

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}") 

我想要一切都在同一行,我需要知道爲什麼會發生這種情況。請幫忙

+1

您需要從'yy'和'tt'中去掉換行符,以便將它們全部放在一行上。獲取輸入信息,請參閱[Ruby教程](http://ruby-doc.org//docs/Tutorial/part_02/user_input.html)。 – pstrjds 2015-02-24 06:39:45

回答

4

​​給你一個字符串,\n加到字符串的末尾。這導致在多行輸出

要使您的輸出符合您的要求,您需要使用#chomp方法,如gets.chomp

3

添加到奧雅納的回答是:

puts增加了一個新行到輸出端。 print沒有。因此,您可能還想用print替換puts以將所有輸出都排成一行。

+0

我以爲OP確實知道'#puts'不是'#gets' ..:p – 2015-02-24 06:51:01

+0

我的回答是......「以防萬一」...:P – shivam 2015-02-24 06:54:28

+0

Hehehe ...好的 – 2015-02-24 06:55:58