我是(非常)新的紅寶石,無法弄清楚爲什麼我的rspec掛起。我在下面給出的方法中有兩個正則表達式。如果我也註釋掉,rspec的作品。但是,如果兩者都存在,rspec的掛起(link to full project, including tests,如果它可以幫助提供上下文)Rspec測試與正則表達式掛起
樣品輸入:
pairings= [["Joe Johnson", "Jane Johnson"], ["Sarah Smith", "Bob Jones"]]
期望輸出:
self.valid_pairs?(pairings) => false ... because the last names in the pairings[0] are the same
代碼:
def self.valid_pairs?(pairings)
validated_pairings = []
pairings.each do |p|
match1 = /(\w*)\s(\w*)|(\w*)\s(\w*)\s(\w*)/.match(p[0]).to_a
match2 = /(\w*)\s(\w*)|(\w*)\s(\w*)\s(\w*)/.match(p[1]).to_a
if match1.last != match2.last
validated_pairings << p
else
end
end
if validated_pairings == pairings
true
else
false
end
end
你的正則表達式並沒有太大的意義,因爲這隻能匹配一個空白。你可以把一個樣本數據和你想要的輸出? – 2014-08-27 16:04:01
我添加了樣本輸入和所需的輸出。我不確定這是否有幫助 - 這是我第一次發佈的問題,所以請告訴我,如果我誤解了您的請求。 – JHomann 2014-08-27 16:16:51
我明白了,你想要做的就是比較姓氏。你需要的正則表達式是爲了獲取姓氏 – 2014-08-27 16:51:05