我正在创建一个函数,它接受一个字符串并创建一个首字母缩略词,但遇到了错误。当我输入时,"Complementary metal-oxide semiconductor"我会"CS"在期待时得到回报"CMOS"。有什么建议为什么会发生这种情况吗?我向它传递了很多其他字符串,它可以工作,只是在这种情况下不起作用。
class Acronym
def self.abbreviate(phrase)
letters = phrase.split("")
acronym = []
letters.each do |letter|
previous = letters.index(letter) - 1
if previous == -1
acronym.push(letter)
elsif letters[previous] == " " || letters[previous] == "-"
acronym.push(letter)
end
end
acronym.join("").upcase
end
end
Run Code Online (Sandbox Code Playgroud)