I have an array @horses = []
that I fill with some random horses.
How can I check if my @horses
array includes a horse that is already included (exists) in it?
I tried something like:
@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
I also tried with include?
but I saw it was for strings only. With exists?
I get the following error:
undefined method `exists?' for #<Array:0xc11c0b8>
So the question is how can I check if my array already has a "horse" included so that I don't fill it with the same horse?
isArray() method is used to check if an object is an array. The Array. isArray() method returns true if an object is an array, otherwise returns false .
Storing Objects in an arrayYes, since objects are also considered as datatypes (reference) in Java, you can create an array of the type of a particular class and, populate it with instances of that class.
Arrays in Ruby don't have exists?
method, but they have an include?
method as described in the docs. Something like
unless @suggested_horses.include?(horse) @suggested_horses << horse end
should work out of box.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With