我正在研究一種方法,用於大寫除非其中一個小單詞被傳入的句子的每個單詞的第一個字母。 (句子中的這第一個字總是不管大寫)Titileize方法在標題中大寫字母大寫
我有以下幾點:
def titleize(t)
little = ["over", "the", "and"]
q = t.split(" ")
u = []
q.each do |i|
p = i.split("")
p[0] = p[0].upcase
r = p.join("")
if i == q[0]
u.push(r)
elsif i == little[0] || i == little[1] || i == little[2]
u.push(i)
else
u.push(r)
end
end
s = u.join(" ")
return s
end
當我通過試運轉我,我得到:
Failure/Error: titleize("the bridge over the river kwai").should == "The Br
idge over the River Kwai"
expected: "The Bridge over the River Kwai"
got: "The Bridge over The River Kwai" (using ==)
爲什麼句子中的第二個「the」被大寫?
側面說明,考慮使用描述性的變量名,比如'句子,','words','characters'而不是't','q','p'。爲了可讀性做了很多工作。 –
您已選擇@ sawa的答案,但未選中它。你沒有任何迴應的義務,但我提到這是你的新成員,可能沒有意識到你可以調高你選擇的答案。 –