1

単語が母音で始まる場合、単語の末尾に ay を追加する方法を作成しました。単語が子音で始まる場合、子音を単語の末尾に移動してから ay を追加します。

これに関する私の問題は、たとえば次のような配列で結果が返されることです。テストを実行すると、結合方法が見つからないと表示されますか? これはただの混乱ですか、それとも近づいていますか? 洞察に感謝します:)

def translate(word)
  multiplewords = word.split(" ")
multiplewords.map! do |x|
    separated = x.split("")
        if !'aeiou'.include?(separated[0])
            while !'aeiou'.include?(separated[0])
                letter = separated.shift
                separated << letter
                separated
            end
            final = separated.join("") + "ay"
        else
            final = separated.join("") + "ay"
        end
    end
end

translate("幸せな動物") => ['appyhay', 'animlasay']

回答が必要です: 「appyhay animalsay」

4

1 に答える 1

2

最後の部分で参加する必要があります。こちらも少し簡略化してみました。

#!/usr/bin/env ruby

def translate(word)
  word.split(" ").map do |x|
    separated = x.split("")
    if !'aeiou'.include?(separated[0])
      while !'aeiou'.include?(separated[0])
        letter = separated.shift
        separated << letter
      end
    end
    separated.join("") + "ay"
  end.join(' ')
end

puts translate("happy animals") 

出力:

appyhay animalsay
于 2013-09-16T17:03:59.663 に答える