Lessons: Intermediate
Building on upon our foundation these lessons introduce topics like concurrency, error handling, and interoperability.
Membuat task Mix custom untuk project Elixir anda.
Salah satu keuntungan tambahan dari membangun di atas VM Erlang adalah banyaknya librari yang sudah ada yang bisa kita pakai. Interoperabilitas memungkinkan kita memanfaatkan librari-librari tersebut dan juga librari standar Erlang dari code Elixir kita. Dalam pelajaran ini kita akan melihat bagaimana mengakses fungsi dalam librari standar dan juga paket Erlang buatan pihak lain (third party).
Walaupun lebih umum menggunakan pengembalian tuple {:error, reason}
, Elixir mendukung exception dan dalam pelajaran ini kita akan melihat bagaimana menangani error dan berbagai mekanisme yang tersedia untuk kita.
Secara umum, konvensi dalam Elixir adalah untuk membuat sebuah fungsi (example/1
) yang mengembalikan {:ok, result}
dan {:error, reason}
dan fungsi lain yang terpisah (example!/1
) yang mengembalikan result
saja atau memunculkan (raise) sebuah error.
Pelajaran ini akan fokus pada berinteraksi dengan yang terakhir
Untuk membuat eksekutabel di Elixir kita akan menggunakan escript. Escript menghasilkan sebuah eksekutabel yang bisa dijalankan pada sistem apapun yang sudah diinstali Erlang.
Satu poin yang menjual dari Elixir adalah dukungannya terhadap konkurensi. Berkat Erlang VM (BEAM), konkurensi dalam Elixir sangat mudah. Model konkurensinya berdasar pada Actor, sebuah proses terlindung (contained) yang berkomunikasi dengan proses lain lewat pengiriman pesan (message passing).
Dalam pelajaran ini kita akan melihat pada modul-modul konkurensi yang diluncurkan bersama Elixir. Dalam bab selanjutnya kita membahas perilaku OTP yang mengimplementasikannya