共用方式為


Option.forall<'T> 函式 (F#)

更新:2010 年 5 月

評估 List.forall 選項類型的對等用法。

命名空間/模組路徑:Microsoft.FSharp.Core.Option

組件:FSharp.Core (在 FSharp.Core.dll 中)

// Signature:
forall : ('T -> bool) -> 'T option -> bool

// Usage:
forall predicate option

參數

  • predicate
    Type: 'T -> bool

    A function that evaluates to a Boolean when given a value from the option type.

  • option
    Type: 'T option

    輸入選項。

傳回值

true如果此選項是None否則它會傳回結果的套用述詞選項值。

備註

在運算式 forall p inp評估為 match inp with None -> true | Some x -> p x

這個函式是名為 ForAll中 已編譯的組件。 如果從一個語言,F # 以外,或透過反映存取函式使用這個名稱。

範例

下列程式碼說明如何使用 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

輸出

  

平台

Windows 7、Windows Vista SP2、Windows XP SP3、Windows XP x64 SP2、Windows Server 2008 R2、Windows Server 2008 SP2、Windows Server 2003 SP2

版本資訊

F# 執行階段

支援版本:2.0、4.0

Silverlight

支援版本:3

請參閱

參考

Core.Option 模組 (F#)

Microsoft.FSharp.Core 命名空間 (F#)

變更記錄

日期

History

原因

2010 年 5 月

加入程式碼範例。

資訊加強。