Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Elixir Showcase (vs PHP, JS, Python)

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ť)

Štruktúra

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).

Ako spúšťať príklady

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.py

Interaktívny režim (IEx)

Pre 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:

iex

A potom načítaj príslušný súbor modulov príkazom c:

iex(1)> c("example.ex")
[Math]
iex(2)> Math.add(2, 3)
5

Ako boli príklady vygenerované?

Zdrojové 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.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages