我正在使用Rspec进行测试,我想检查一个数组是否包含另一个数组中的某个元素。
elements = ['e1', 'e2']
hash = {'e1' => 5, 'e8' => 8}
it "Include any element from elements" do
hash.should include('e1') || hash.should include('e2')
end
hash应包含元素中的任何元素(作为键)。有一种更优雅的方式吗?感谢。
答案 0 :(得分:3)
这应该有效:
(elements & hash.keys).should_not be_blank
如果数组包含至少一个存在于another_array中的元素,则会传递。
hash.keys
只返回该哈希的所有键的数组。
答案 1 :(得分:1)
大概:
anotherArray = anotherArray | elements
或者只是
anotherArray |= elements
更新:
elements.each{|e| hash[e] = e[1..-1].to_i unless hash.has_key?(e)}