Fungsi Pada OCaml

Fungsi memangkas ekspresi agar dipanggil berulang seperti variabel.

Fungsi Pada OCaml

Fungsi digunakan untuk memberi tanda pengenal pada ekspresi dalam memangkas penulisan saat membutuhkan.

Perbedaan dengan variabel, fungsi dapat menerima parameter masukan. Secara tidak langsung, Variabel sama dengan fungsi tanpa parameter.

Aturan pembangkitan fungsi

let <nama fungsi> (<parameter>:<tipe data>) : <tipe kembalian> = <ekspresi>

OCaml memeriksa tipe data berdasarkan nilai yang diberikan atau di tulis secara langsung

let luas_segitiga alas tinggi =
	(alas *. tinggi) /. 2.
;;

let () = 
	print_float (luas_segitiga 4. 3.)
;;

Kode di atas sama dengan kode di bawah, dengan menuliskan tipe data secara langsung

let luas_segitiga (alas: float) (tinggi: float) : float =
	(alas *. tinggi) /. 2.
;;

let () = 
	print_float (luas_segitiga 4. 3.)
;;

Fungsi print_float menampilkan nilai float dari ekspresi (luas_segitiga 4. 3.).

Pada REPL akan terlihat tampak fungsi luas segitiga seperti ini

val luas_segitiga : float -> float -> float = <fun>

Cuplikan kode di atas menggambarkan struktur tipe (type signature) dari fungsi luas_segitiga.

Terdapat tiga tulisan float dan <fun>, posisi pertama dan kedua mewakili tipe dari parameter fungsi (alas dan tinggi), yang terakhir tipe data kembalian fungsi dan <fun> menandakan tipe tersebut adalah fungsi.

Fungsi tanpa kembalian akan mengembalikan () disebut unit, secara bawaan.

Fungsi mengembalikan nilai dari hasil ekspresi terakhir pada fungsi, dalam contoh ini (alas *. tinggi) /. 2. pada fungsi luas_segitiga .