我正在尝试解决一个简单的猪拉丁语问题,但是在遍历数组时,循环会跳过一个字母。
在这种情况下,它是字母“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"