文字列を受け取って頭字語を作成する関数を作成していますが、エラーが発生しています。を入力すると、期待すると見返りが"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