Поделиться через


Функция Option.foldBack<'T,'State> (F#)

Выполняет эквивалент операции List.foldBack над параметром.

Пространство имен/путь к модулю: Microsoft.FSharp.Core.Option

Сборка: FSharp.Core (в FSharp.Core.dll)

// Signature:
foldBack : ('T -> 'State -> 'State) -> 'T option -> 'State -> 'State

// Usage:
foldBack folder option state

Параметры

  • folder
    Тип: 'T -> 'State -> 'State

    Функция, обновляющая данные состояния при значения из параметра.

  • option
    Тип: 'T option

    Входной параметр.

  • state
    Тип: 'State

    Начальное состояние.

Возвращаемое значение

Если значение параметра — None, функция возвращает начальное значение state. В противном случае возвращается обновленное состояние, результат применения функции folder со значением параметра и первоначальное состояние.

Заметки

Выражение fold f inp s означает match inp with None -> s | Some x -> f x s.

В скомпилированных сборках имя этой функции — FoldBack. При обращении к функции из языка, отличного от F#, или посредством отражения следует использовать это имя.

Пример

В следующем примере кода демонстрируется использование функции Option.foldBack.

let consOption list opt =
    Option.foldBack (fun value state -> value :: state) list opt
printfn "%A" <| consOption None [ 1 .. 10 ]
printfn "%A" <| consOption (Some(0)) [1 .. 10] 

Output

  

Платформы

Windows 7, Windows Vista с пакетом обновления 2 (SP2), Windows XP с пакетом обновления 3 (SP3), Windows XP x64 с пакетом обновления 2 (SP2), Windows Server 2008 R2, Windows Server 2008 с пакетом обновления 2 (SP2), Windows Server 2003 с пакетом обновления 2 (SP2)

Сведения о версии

Среда выполнения F#

Поддерживается в версиях 2.0, 4.0

Silverlight

Поддерживается в версии 3

См. также

Ссылки

Модуль Core.Option (F#)

Пространство имен Microsoft.FSharp.Core (F#)

Журнал изменений

Дата

Журнал

Причина

Май 2010

Добавлен пример кода.

Улучшение информации.