From: Jean Privat Date: Wed, 26 Nov 2014 20:40:32 +0000 (-0500) Subject: lib/collection: improve documentation of `has_all` X-Git-Tag: v0.6.11~10^2~1 X-Git-Url: http://nitlanguage.org lib/collection: improve documentation of `has_all` Signed-off-by: Jean Privat --- diff --git a/lib/standard/collection/abstract_collection.nit b/lib/standard/collection/abstract_collection.nit index 56633ce..9d79de9 100644 --- a/lib/standard/collection/abstract_collection.nit +++ b/lib/standard/collection/abstract_collection.nit @@ -123,12 +123,18 @@ interface Collection[E] return iterator.item end - # Is the collection contains all the elements of `other`? + # Does the collection contain at least each element of `other`? # - # assert [1,1,1].has_all([1]) == true - # assert [1,1,1].has_all([1,2]) == false # 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[E]): Bool do for x in other do if not has(x) then return false