List di Elixir
Penjelasan
List di Elixir dibuat dengan `[1, 2, 3]`, secara internal dibangun dari HEAD (elemen pertama) dan TAIL (sisanya) — mirip konsep list di Haskell. Operator `++` menggabungkan dua list, `--` menghapus elemen dari list. Karena immutable, semua operasi "mengubah" list sebenarnya menghasilkan list BARU.
Contoh Konsep
buah = ["Apel", "Jeruk", "Mangga"]
[kepala | ekor] = buah # pattern matching head/tail
IO.puts(kepala) # "Apel"
IO.inspect(ekor) # ["Jeruk", "Mangga"]
buahBaru = buah ++ ["Anggur"] # list baru, buah asli tidak berubah
IO.inspect(buahBaru)
length(buah) # 3
Praktikum
Buat list kota berisi 3 nama kota, ambil head dan tail-nya dengan pattern matching [kepala | ekor], lalu cetak keduanya.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Pola `[kepala | ekor] = list` adalah fondasi rekursi list di Elixir — sangat mirip `(x:xs)` di Haskell, karena Elixir memang meminjam banyak ide functional programming dari sana.