Lessons: Intermediate
Building on upon our foundation these lessons introduce topics like concurrency, error handling, and interoperability.
Vytváranie vlastných Mix taskov pre vaše Elixir projekty.
Jednou z výhod toho, že Elixir je postavený na základoch z Erlang VM (BEAM) je množstvo existujúcich knižníc, ktoré máme k dispozícii. Interoperabilita nám umožňuje používať tieto knižnice a štandardnú knižnicu Erlangu v našom Elixir kóde. V tejto lekcii sa pozrieme na to ako pristupovať k funkcionalite štandardnej knižnice a zároveň aj ku knižniciam tretích strán z Erlangu.
Bežne môžeme vidieť pri funkciách návratovú hodnotu tuple {:error, reason}
, ale Elixir podporuje aj výnimky a v tejto lekcii si ukážeme ako spracovávať chyby a rôzne mechanizmy ktoré máme k dispozícii.
Vo všeobecnosti je v Elixire konvenciou vytvárať funkciu example/1
, ktorá vráti {:ok, result}
alebo {:error, reason}
a funkcia example!/1
, ktorá vráti neobalený výsledok alebo vyvolá chybu.
Táto lekcia sa zameriava na spracovanie týchto chýb
Na to, aby sme mohli vytvoriť spustiteľné súbory v Elixire budeme používať escript. Escript vytvorí spustiteľný súbor, ktorý môže byť spustiteľný na akomkoľvek systéme, kde je nainštalovaný Erlang.
Jednou z výhod Elixiru je jeho podpora konkurentnosti. Vďaka Erlang VM (BEAM), konkurentnosť v Elixire je jednodušia než by človek čakal. Model konkurentnosti sa spolieha na Actorov, ktorí predstavujú uzavretý proces, ktorý komunikuje s ostatnými procesmi pomocou odosielania správ.
V tejto lekcii sa pozrieme na konkurentné moduly, ktoré sú dodávané spolu s Elixirom. V nasledujúcej kapitole pokryjeme správania OTP, ktoré ich implementujú