Bagikan

Pattern Matching Pada OCaml

Pemilihan ekspresi berdasarkan evaluasi kecocokan pola.

  • Desember 21, 2020

Pattern Matching atau Pencocokan Pola merupakan pemilihan dengan mencocokan pola nilai dari data.

Berbeda dengan Pemilihan IF yang mengevaluasi nilai bool (true/false) dari ekspresi.

Pattern Matching dibangkitkan dengan ekspresi match

match <ekspresi> with
 <pola> -> <ekspr>
 | <pola> -> <ekspr>
 | _ -> <ekspr>
;;

Persamaan dengan Pemilihan IF

if <ekspresi> == <pola> then <ekspr>
else if <ekspresi> == <pola> then <ekspr>
else <ekspr>
;;

Contoh pengguna Pattern Matching

let rec faktorial batas hasil =
	match batas with
	 0 -> hasil
	| _ -> faktorial (batas - 1) (hasil * batas)
;;

Pattern Matching berlaku untuk tipe bernilai banyak seperti List dan Tuples.

Contoh Pattern Matching pada List

let rec sigma deret =
	match deret with
  	[] -> 0
  	| head :: tail -> head + sigma tail
;;

Pada bagian head :: tail , List di pecah dan bagian nilai paling kiri (head list) di simpan dalam variable head.

Sisanya keseluruhan List tanpa head (tail list) disimpan dalam variabel tail.

Referensi

  1. Code Example , OCaml.org
  2. OCaml for the Skeptical, Pattern Matching

Kamu menikmati tulisan ini ?

Blog ini tidak dibiayai oleh iklan untuk bayar server dan jajan milkshake. Agar tetap terus beroperasi dan menorehkan lebih banyak tulisan yang (semoga) bermanfaat!

Beri sedikit tips ke Loka Kode untuk bayar server dan beli milkshake.

Tagar

Tulisan serupa