Funzione Option.forall<'T> (F#)
Valuta l'equivalente di List.forall per un tipo di opzione.
Percorso spazio dei nomi/modulo: Microsoft.FSharp.Core.Option
Assembly: FSharp.Core (in FSharp.Core.dll)
// Signature:
forall : ('T -> bool) -> 'T option -> bool
// Usage:
forall predicate option
Parametri
predicate
Tipo: 'T -> boolFunzione che esegue una valutazione di un valore ottenuto dal tipo di opzione restituendo un booleano.
option
Tipo: 'T optionOpzione di input.
Valore restituito
true se l'opzione è None, in caso contrario restituisce il risultato dell'applicazione del predicato al valore dell'opzione.
Note
L'espressione forall p inp restituisce match inp with None -> true | Some x -> p x.
Questa funzione è denominata ForAll negli assembly compilati. Utilizzare questo nome se si accede alla funzione da un linguaggio diverso da F# o tramite reflection.
Esempio
Nel codice riportato di seguito viene illustrato l'utilizzo di Option.forall.
let isEven opt =
Option.forall (fun elem -> elem % 2 = 0) opt
printfn "%b" <| isEven (Some(2))
printfn "%b" <| isEven None
printfn "%b" <| isEven (Some(1))
// Use this function with an array of int options.
let forAllOptions function1 = List.forall (fun opt -> Option.forall function1 opt)
let list1 = [ for i in 1 .. 10 do yield Some(i) ]
let list2 = [ for i in 1 .. 10 do yield if (i % 2) = 0 then Some(i) else None ]
let list3 = [ for i in 1 .. 10 do yield if (i % 2) = 1 then Some(i) else None ]
let evalList list = printfn "%b" <| forAllOptions (fun value -> value % 2 = 0) list
let lists = [ list1; list2; list3 ]
List.iter evalList lists
Output
Piattaforme
Windows 7, Windows Vista SP2, Windows XP SP3, Windows XP x64 SP2, Windows Server 2008 R2, Windows Server 2008 SP2, Windows Server 2003 SP2.
Informazioni sulla versione
F# Runtime
Supportato in: 2.0, 4.0
Silverlight
Supportato in: 3
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.FSharp.Core (F#)
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Maggio 2010 |
Aggiunto esempio di codice. |
Miglioramento delle informazioni. |