我面臨的挑戰是寫一些Ruby代碼,改變每個字的最後一個字符在句子變成資本的資本。這樣的字符串:在一個句子中每個單詞的最後一個字符改爲使用Ruby
"script to convert the last letter of every word to a capital"
成爲
"scripT tO converT thE lasT letteR oF everY worD tO A capitaL"
這是我最終使用:
"script to convert the last letter of every word to a capital".split.map{|w|w<<w.slice!(-1).chr.upcase}.join' '
對於那些有興趣,什麼是怎麼回事是一個解釋。
拆分會將句子拆分成數組,默認分隔符是空格,使用Ruby您不需要在這裏使用括號。
map將來自split
的數組傳遞給映射,該映射將打開一個塊並處理數組中的每個單詞(w)。塊切片!(S)斷字的最後一個字符,並將其轉換爲CHR(字符不是ASCII碼),然後大寫upcase它。此字符現在追加< <到缺少切片最後一個字母的單詞。最後字的排列是現在與「」加入一起改革的句子。
如果有標點符號在句子這是行不通的。這是一個要求嗎? – mckeed 2010-06-09 16:12:20