Study
Elixir

Fungsi Anonim & Capture Operator (&)

Penjelasan

Fungsi anonim dibuat dengan `fn parameter -> ekspresi end`, dipanggil dengan titik sebelum kurung: `fungsi.(argumen)`. Untuk fungsi anonim sederhana, capture operator `&` menyediakan bentuk yang lebih ringkas — `&1`, `&2`, dst merujuk ke argumen posisi ke-1, ke-2, dan seterusnya.

Contoh Konsep

tambah = fn a, b -> a + b end
tambah.(3, 4)   # 7, panggil pakai .()

# Bentuk ringkas dengan capture operator &
tambahRingkas = &(&1 + &2)
tambahRingkas.(3, 4)   # 7, sama persis

# Sangat umum dipakai bersama Enum.map
Enum.map([1, 2, 3], &(&1 * 2))   # [2, 4, 6]
Enum.map([1, 2, 3], fn x -> x * 2 end)   # sama, versi panjang

Praktikum

Buat fungsi anonim kuadrat dengan fn...end yang menghitung x*x, lalu buat versi ringkasnya memakai capture operator &.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Pakai `fn...end` biasa kalau logikanya butuh beberapa baris atau nama parameter yang jelas, dan capture operator `&(...)` untuk ekspresi SANGAT pendek yang sudah jelas maksudnya tanpa nama parameter.