我已经写过一种方法,如果用元音开头,就可以在单词的末尾加上ay。如果单词以辅音开头,它会将辅音移到单词的末尾,然后添加一个。
我的问题是我的结果以数组形式返回,例如: 翻译(“快乐的动物”) 而不是得到“appyhay animalsay” 我得到[“appyhay”,“animalsay”] 我最后尝试加入它们,但是当我运行测试时它说无法找到连接方法? 这只是一团糟还是我越来越近了? 非常感谢任何见解:)
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
翻译(“快乐的动物”)=&gt; ['appyhay','animlasay']
需要回答:“appyhay animalsay”
答案 0 :(得分: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