Some
используется для указания типа параметра или, другими словами, типа, который может существовать или не существовать.
F # отличается от большинства языков тем, что поток управления в основном выполняется с помощью сопоставления с образцом, а не с традиционной логикой if / else.
В традиционной логике if / else вы можете увидеть что-то вроде этого:
if (isNull(x)) {
do ...
} else { //x exists
do ...
}
При логике сопоставления с образцом для сопоставления нам нужен аналогичный способ выполнения определенного кода, если значение равно нулю, или в синтаксисе F #, None
Таким образом, мы будем иметь тот же код, что и
match x with
| None -> do ...
| Some x -> do ...