Ключевое слово F# 'Некоторые'

button('hey') вызывает функцию, а не устанавливает ее как обратный вызов.

36
задан 16 January 2009 в 12:51
поделиться

2 ответа

Some не ключевое слово. Существует option тип однако, который является дизъюнктным объединением, содержащим две вещи:

  1. Some, который содержит значение некоторого типа.
  2. None, который представляет отсутствие значения.

Это определяется как:

type 'a option =
    | None
    | Some of 'a

Это действует отчасти как nullable тип, где Вы хотите иметь объект, который может содержать значение некоторого типа или не иметь никакого значения вообще.

let stringRepresentationOfSomeObject (x : 'a option) =
    match x with
    | None -> "NONE!"
    | Some(t) -> t.ToString()
46
ответ дан Mehrdad Afshari 10 October 2019 в 10:46
поделиться

Может проверить Дизъюнктные объединения в F# для большего количества информации о DUs в целом и типе опции (Некоторые, Ни один) в частности. Как в предыдущем ответе говорится, Некоторые - просто случай объединения option< 'a> введите, который является особенно общим/полезным примером алгебраического типа данных.

7
ответ дан Brian 10 October 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: