Ekspresi Lambda: Kata Kunci fun (F#)

Kata kunci fun digunakan untuk menentukan ekspresi lambda, yaitu, sebuah fungsi anonim.

Sintaks

fun parameter-list -> expression

Keterangan

Daftar-parameter biasanya terdisi dari nama, dan secara opsional, jenis parameter. Secara lebih umum, daftar-parameter dapat terdiri dari pola F# apa pun. Untuk daftar lengkap kemungkinan pola, lihat Pencocokan Pola. Daftar parameter yang valid meliputi contoh berikut.

// Lambda expressions with parameter lists.
fun a b c -> ...
fun (a: int) b c -> ...
fun (a : int) (b : string) (c:float) -> ...

// A lambda expression with a tuple pattern.
fun (a, b) -> …

// A lambda expression with a cons pattern.
// (note that this will generate an incomplete pattern match warning)
fun (head :: tail) -> …

// A lambda expression with a list pattern.
// (note that this will generate an incomplete pattern match warning)
fun [_; rest] -> …

Ekspresi tersebut adalah isi dari fungsi, yaitu ekspresi terakhir yang menghasilkan nilai pengembalian. Contoh ekspresi lambda yang valid meliputi:

fun x -> x + 1
fun a b c -> printfn "%A %A %A" a b c
fun (a: int) (b: int) (c: int) -> a + b * c
fun x y -> let swap (a, b) = (b, a) in swap (x, y)

Menggunakan Ekspresi Lambda

Ekspresi lambda sangat berguna ketika Anda ingin melakukan operasi pada suatu daftar atau koleksi lain dan ingin menghindari pekerjaan ekstra dalam menentukan suatu fungsi. Banyak fungsi pustaka F# mengambil nilai fungsi sebagai argumen, dan akan lebih mudah menggunakan ekspresi lambda dalam kasus tersebut. Kode berikut menerapkan ekspresi lambda ke elemen daftar. Dalam hal ini, fungsi anonim tersebut menambahkan 1 ke setiap elemen daftar.

let list = List.map (fun i -> i + 1) [ 1; 2; 3 ]
printfn "%A" list

Lihat juga