我正在創建一個紅寶石拉丁翻譯器。它適用於大多數單詞,但我一次無法使用多個單詞處理一些問題。因此,例如,當您只是輸入「蘋果」一詞時,就會得到「appleay」,但如果輸入了多個單詞,則不會翻譯它們。我一直在尋找解決辦法,但已經空了。這裏的其他一些線索對於讓我走得這麼遠真的很有幫助。任何提示將非常感謝。紅寶石豬拉丁語翻譯多詞
我還在if/else語句中添加了一些例外,以允許「quiet」和「square」的正確豬拉丁語翻譯,其中「qu」被認爲是輔音。
在此先感謝您的幫助!
def translate (word)
alpha = ('a'..'z').to_a
vowels = %w[a e i o u]
consonants = alpha - vowels
if vowels.include?(word[0..0])
word + 'ay'
elsif consonants.include?(word[0..0]) && consonants.include?(word[1..1])
word[2..-1] + word[0..1] + 'ay'
elsif word[0..1] == "qu"
word[2..word.length]+"quay"
elsif word[0..2] == "squ"
word[3..word.length]+"squay"
else consonants.include?(word[0])
word[1..-1] + word[0..0] + 'ay'
end
end
我會在哪裏放置該代碼以獲得正確的結果?把它放在if/else語句之前或之後會給我一個「堆棧層太深」的錯誤。 – PaperKraftMike
您可以將它放在方法主體之外(即在程序的最後一行),變量'text'是一個包含要翻譯的輸入單詞的字符串。 – user2398029
那麼在方法的最後一個「結束」之前呢?而對於「文本變量,它應該保持原樣?我需要從那裏直接輸入方法嗎? – PaperKraftMike