Operator & Pipe Operator (|>)
Penjelasan
Elixir punya operator standar (`+ - * / == != and or not`), tapi fitur paling khasnya adalah PIPE OPERATOR `|>` — meneruskan hasil ekspresi kiri sebagai ARGUMEN PERTAMA fungsi di kanan. Ini membuat rangkaian transformasi data terbaca dari atas ke bawah / kiri ke kanan, bukan bertumpuk kurung dari dalam ke luar.
Contoh Konsep
# Tanpa pipe, dibaca dari dalam ke luar (membingungkan)
String.upcase(String.trim(" compiledaily "))
# Dengan pipe, dibaca berurutan kiri ke kanan
" compiledaily "
|> String.trim()
|> String.upcase()
# Rangkaian pipe untuk mengolah list
[1, 2, 3, 4, 5]
|> Enum.filter(fn x -> rem(x, 2) == 0 end)
|> Enum.map(fn x -> x * 10 end)
# [20, 40]
Praktikum
Tulis ulang String.upcase(String.trim(" budi ")) memakai pipe operator |> supaya lebih mudah dibaca.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Pipe operator adalah salah satu alasan kode Elixir terasa sangat mudah dibaca untuk rangkaian transformasi data — begitu terbiasa, kamu akan cenderung menghindari fungsi bersarang dalam-dalam dan lebih memilih rantai pipe.