0

文字列内のすべての母音をできるだけ効率的に並べ替えるメソッドを作成しようとしています。例えば:

"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ます。

4

2 に答える 2