View Problem

Test if a condition holds for all items of a list

Given a list, test if a certain logical condition (i.e. predicate) holds for all items of the list.
DiskEdit
ruby
[2, 3, 4].all? { |x| x > 1 }
ExpandDiskEdit
cpp boost
template <typename InputIterator, typename Predicate>
bool match_all(InputIterator first, InputIterator last, Predicate pred)
{
return find_if(first, last, !pred(_1)) == last;
}
DiskEdit
fsharp fsharp
let rec IsAll predicate source =
let mutable acc = true
for e in source do
acc <- acc && (predicate e)
acc
DiskEdit
erlang
Result = lists:all(Pred, List).
ExpandDiskEdit
fantom
echo([2,3,4].all{ it>1 })

Submit a new solution for ruby, cpp, fsharp, erlang ...
There are 7 other solutions in additional languages (clojure, groovy, haskell, ocaml ...)