Táto zbierka obsahuje 50 malých príkladov, ktorých cieľom je demonštrovať silu, filozofiu a syntax programovacieho jazyka Elixir.
Aby bol prechod k Elixiru jednoduchší, každý príklad obsahuje ekvivalentný kód aj v ďalších troch populárnych jazykoch, ktoré používajú iné prístupy:
- PHP (Objektovo-orientovaný/Procedurálny webový jazyk)
- JavaScript (Dynamický asynchrónny jazyk, bežiaci na NodeJS)
- Python (Dynamický interpretovaný jazyk orientovaný na čitateľnosť)
Príklady sú očíslované a rozdelené do logických blokov, od úplných základov jazyka až po pokročilé možnosti distribuovaných systémov a fault-tolerant architektúry (OTP):
- 01 - 10: Základy (dátové typy, immutability, pattern matching)
- 11 - 20: Riadiace štruktúry (cond, case, with, kolekcie, Enum)
- 21 - 30: Organizácia kódu (moduly, štruktúry, protokoly, správania, makrá)
- 31 - 40: Konkurencia (procesy, zasielanie správ, Tasks, Agents, GenServer)
- 41 - 50: Pokročilé koncepty (ETS tabuľky, node distribution, Phoenix)
V každom priečinku nájdeš súbory so zdrojovými kódmi pre všetky 4 jazyky (example.ex, example.php, example.js, example.py).
Väčšina základných príkladov (zo začiatku) sa dá spustiť priamo ako skripty:
cd elixir_showcase/01_variables_and_immutability
elixir example.ex
php example.php
node example.js
python3 example.pyPre komplexnejšie príklady v Elixire (napr. definovanie GenServer-a v neskorších adresároch) je lepšie nahrať kód priamo do interaktívnej konzoly (REPL rýčka iex).
Spusti v danom priečinku IEx:
iexA potom načítaj príslušný súbor modulov príkazom c:
iex(1)> c("example.ex")
[Math]
iex(2)> Math.add(2, 3)
5Zdrojové dáta a skripty generátora si môžeš nájsť v adresári scripts/.
Ide o pomocné Python skripty, ktoré naplnili túto štruktúru z definovaných JSON dát.