2017-03-02 56 views
-1

我有這樣的代碼:字符串之前串聯功能串打印

def capitalize(string) 
    puts "#{string[0].upcase}#{string[1..-1]}" 
end 

puts "say few words: " 
words = gets.chomp 
puts "your answer is: " + capitalize(words).to_s 

我期待輸出:

說幾句話:

你的答案是:大寫的INPUT

但是我得到:

說幾句話:

大寫的INPUT

你的答案是:

+1

瞭解__evaluating__表達式和__printing__值之間的區別。 –

+0

不清楚「你打印的方法」是什麼意思。第一行要打印的是:'說幾句話:'。我不知道這條線將被稱爲一種方法。 – sawa

+0

第一行和第二行要求輸入字符串,但輸出(在第三行)是相反的。我得到作爲輸出大寫(單詞).to_s +「你的答案是:」而不是其他方式 – Horned

回答

2

幾乎是正確的,但你要打印的東西,你調用它的方法,得到的只是一個字符串,不要再打印。

def capitalize(string) 
    "#{string[0].upcase}#{string[1..-1]}" 
end 

puts "say few words: " 
words = gets.chomp 
puts "your answer is: " + capitalize(words) 
+0

我不能打印輸出,如果我不轉換方法字符串....我得到錯誤 – Horned

+0

該方法已經返回一個字符串,所以你不需要轉換任何東西:) – Ursus

+0

@Horned:這個代碼在Ursus的答案中,不會引發任何錯誤。 –