我有一个数组 @horses = []
,我用一些随机的马填充。
如何检查我的 @horses
数组是否包含已包含(存在)的马?
我试过类似的东西:
@suggested_horses = []
@suggested_horses << Horse.find(:first,:offset=>rand(Horse.count))
while @suggested_horses.length < 8
horse = Horse.find(:first,:offset=>rand(Horse.count))
unless @suggested_horses.exists?(horse.id)
@suggested_horses<< horse
end
end
我也尝试过
include?
但我看到它仅用于字符串。使用 exists?
我收到以下错误:undefined method `exists?' for #<Array:0xc11c0b8>
所以问题是如何检查我的阵列是否已经包含一匹“马”,以便我不会用同一匹马填充它?
最佳答案
Ruby 中的数组没有 exists?
方法,但它们有 include?
方法 as described in the docs 。
就像是
unless @suggested_horses.include?(horse)
@suggested_horses << horse
end
应该开箱即用。
关于ruby-on-rails - 如何检查我的数组是否包含对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3343861/