Tipe Option Pada Ocaml
Tipe data option memberi kemungkinan nilai ada atau tidak ada (Schrödinger cat data type).
Option memberi kemungkinan suatu variabel memiliki isi (Some
) atau kosong (None
). OCaml tidak memiliki null
.
Tipe Option berikatan dengan tipe data lain sebagai tipe data bila berisi.
Pembangkitan Option
<tipe data> option
Contoh
let alamat: string option;;
Setiap nilai pada tipe option di awali Some
kecuali kosong (None
).
let alamat = Some "rumah sakit terdekat";;
(* val alamat : string option = Some "rumah sakit terdekat" *)
Some
dan None
membungkus nilai yang tersimpan pada variabel alamat.
Pattern match digunakan untuk mengambil nilai pada tipe data Option
match alamat with
| None -> "Alamat tidak ketemu"
| Some nilai -> nilai
;;
(* string = "rumah sakit terdekat" *)
Match pada pola Some nilai
, variabel nilai
mengekstrak isi (Some
) dari variabel alamat menjadi tipe string
.
None
mengembalikan nilai pengganti bila nilai kosong.