0

我正在尝试解决一个简单的猪拉丁语问题,但是在遍历数组时,循环会跳过一个字母。

在这种情况下,它是字母“h”,我不明白为什么。

任何帮助将不胜感激

def louchebemize(sentence)
  # TODO: implement your louchebem translator
  array_of_words = sentence.split(" ")
  array_of_changed = []
  vowels = ['a', 'e', 'i', 'o', 'u']
  random = ["em", "é", "ji", "oc", "ic", "uche", "ès"]
puts array_of_words
  array_of_words.each do |word|
    next if word[0] == 'a'
    next if word.length == 1
    word_array = word.split("")
    p word_array
    word_array.each do |letter|
      if vowels.include?(letter)
        puts "Letter #{letter}"
        word_array.unshift('l')
        word_array << random[rand(0..6)]
        break
      else
        puts "Letter #{letter}"
        word_array.push(letter)
        word_array.delete_at(0)
      end
    end
    index = array_of_words.index(word)
    join_word_array = word_array.join('')
    array_of_words[index] = join_word_array
  end
  sentence = array_of_words.join(" ")

  p sentence
  return sentence

end

louchebemize('chat')

返回这个,跳过 'h' 字符:

chat
["c", "h", "a", "t"]
Letter c
Letter a
"lhatcès"
4

0 回答 0