List.forall2<'T1,'T2> Function (F#)
Tests if all corresponding elements of the lists satisfy the given predicate pairwise. The lists must have equal lengths.
Namespace/Module Path: Microsoft.FSharp.Collections.List
Assembly: FSharp.Core (in FSharp.Core.dll)
Syntax
// Signature:
List.forall2 : ('T1 -> 'T2 -> bool) -> 'T1 list -> 'T2 list -> bool
// Usage:
List.forall2 predicate list1 list2
Parameters
predicate Type: 'T1 -> 'T2 ->bool
The function to test the input elements.
list1 Type: 'T1list
The first input list.
list2 Type: 'T2list
The second input list.
Exceptions
Exception | Condition |
---|---|
ArgumentException | Thrown when the input lists differ in length. |
Return Value
true
if all of the pairs of elements satisfy the predicate. Otherwise, returns false
.
Remarks
The predicate is applied to matching elements in the two collections. If any application returns false
then the overall result is false
and no further elements are tested. Otherwise, if one collection is longer than the other then the System.ArgumentException
exception is raised. Otherwise, true
is returned.
This function is named ForAll2
in compiled assemblies. If you are accessing the function from a .NET language other than F#, or through reflection, use this name.
Example
let listEqual list1 list2 = List.forall2 (fun elem1 elem2 -> elem1 = elem2) list1 list2
printfn "%b" (listEqual [0; 1; 2] [0; 1; 2])
printfn "%b" (listEqual [0; 0; 0] [0; 1; 0])
Output
true
false
Platforms
Windows 8, Windows 7, Windows Server 2012, Windows Server 2008 R2
Version Information
F# Core Library Versions
Supported in: 2.0, 4.0, Portable