core :: Collection :: has_all
other
?assert [1,3,4,2].has_all([1..2]) == true
assert [1,3,4,2].has_all([1..5]) == false
Repeated elements in the collections are not considered.
assert [1,1,1].has_all([1]) == true
assert [1..5].has_all([1,1,1]) == true
Note that the default implementation is general and correct for any lawful Collections.
It is memory-efficient but relies on has
so may be CPU-inefficient for some kind of collections.
# Does the collection contain at least each element of `other`?
#
# assert [1,3,4,2].has_all([1..2]) == true
# assert [1,3,4,2].has_all([1..5]) == false
#
# Repeated elements in the collections are not considered.
#
# assert [1,1,1].has_all([1]) == true
# assert [1..5].has_all([1,1,1]) == true
#
# Note that the default implementation is general and correct for any lawful Collections.
# It is memory-efficient but relies on `has` so may be CPU-inefficient for some kind of collections.
fun has_all(other: Collection[nullable Object]): Bool
do
if is_same_instance(other) then return true
var ol = other.length
var l = length
if ol == 0 then return true
if l == 0 then return false
if ol == 1 then return has(other.first)
for x in other do if not has(x) then return false
return true
end
lib/core/collection/abstract_collection.nit:138,2--160,4