我想寫一個方法,大寫字母中的每個單詞的第一個字母。爲什麼加入不會在這個每個語句
def capitalize(string)
arr1 = string.split(" ")
arr2 = []
arr1.each do |i|
arr2 << i.split(//)
end
arr2.each do |i|
i[0].upcase!
i = i.join
end
arr2.join(" ")
end
在我的第二個each
聲明,每個單詞的第一個字母是成功的資本,我得到這樣的:
[["A", "a", "a"], ["A", "a", "a", "a"]]
我想加入的每個單詞在一起,但i = i.join
什麼也不做i.join!
拋出一個錯誤,未定義的方法。我測試了["A", "a", "a"].join
,這產生了期望的結果。我很困惑,爲什麼這不適用於我的方法,特別是當upcase
工作,這不。
你能解釋一下我在這種情況下的思維錯誤以及如何解決它?
唉唉,我得到它。謝謝! – key 2015-02-06 00:52:15