我正在尝试检查数组中是否有任何内容,我对结果感到困惑。
markets.any? do |m|
m["market"]["name"] == "Atlanta"
end.should be_true
返回You have a nil object when you didn't expect it!, You might have expected an instance of Array.
但是
markets.empty? do |m|
m["market"]["name"] == "Atlanta"
end.should be_false
没有错误。但它似乎倒退了,因为我想测试真实,而不是虚假。我不明白为什么。认为这是愚蠢的。顺便说一下,数组中有3个项目,没有一个是零。
答案 0 :(得分:9)
根据您的评论,市场密钥不存在于哈希中,请尝试按照
markets.any? do |m|
m["name"] == "Atlanta"
end.should be_true
答案 1 :(得分:0)
本?可能就是你要找的......
markets.present? do |m|
m["name"] == "Atlanta"
end.should be_true