文字列内のすべての母音をできるだけ効率的に並べ替えるメソッドを作成しようとしています。例えば:
"you are incredible."
戻り値"yae ere incridoblu."
これは私が思いついたものです:
def vowel_orderer(string)
vowels = ["a","e","i","o","u"]
ordered_vowels = string.scan(/[aeiou]/).sort
ordered_string = []
i = 0
j = 0
while i < string.length
if vowels.include?(string[i])
ordered_string << ordered_vowels[j]
j += 1
else
ordered_string << string[i] unless vowels.include?(string[i])
end
i += 1
end
puts ordered_string.join
end
のようなものを使用して、これを達成するためのより短い方法が必要だと思いgsub
ます。