我正在研究一个ruby挑战,要求我创建一个输入字符串数组并将字符串分隔成3个类别作为符号返回的方法。这些符号将返回一个数组。Ruby:将数组解析为类别,返回符号
如果字符串包含单词“猫”,则返回符号
:cat
。如果“狗”,则返回
:dog.
如果字符串不包含“狗”或“猫”则返回符号
:none
到目前为止,我有下面的代码,但无法通过。
def pets (house)
if house.include?/(?i:cat)/
:cat = house
elsif house.include?/(?i:dog)/
:dog = house
else
:none = house
end
end
input = [ "We have a dog", "Cat running around!", "All dOgS bark", "Nothing to see here", nil ]
它应该返回[ :dog, :cat, :dog, :none, :none ]
这真的很好,效率非常高。谢谢托德! – shroy 2014-11-28 23:56:23
不客气!很高兴它对你有效。 – 2014-11-29 00:01:18