Сопоставление с образцом

Дискард

Дискард - это игнорирование переданного значения

let f _ = 0

Числовой литерал

let fact 0 = 1

Строковый литерал

let toUpper "x" = "X"

Логическая константа

let bnot true = false
let bont false = true

Тип Unit

let put5 () = print 5

Произвольное имя

let sqr x = x * x

Типовое сопоставление

let sqr (Number n) = x * x
let concat (Text t1) (Text t2) = t1 + t2
let deconstruct (Some x) = x
let deconstruct (None) = None
let isZero (Point 0 0) = true
let isZero (Point x y) = false

Пустой список

let head [] = None

Список (голова-хвост)

let head x::xs = x

Список

let sum3 [x, y, z] = x + y + z

Массив

let sum3 [|x, y, z|] = x + y + z

Продолжение as

let sum3 [|x, y, z|] as a =
    print "Given: \(a)"
    x + y + z

Last updated