Каждый цикл пропускает значения в массиве - PullRequest
0 голосов
/ 10 октября 2019

Я пытаюсь решить простую латинскую проблему, но при циклическом перемещении по массиву цикл пропускает букву.

В данном случае это буква '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"
...