# Compre... cože???

## Ukázky

```elixir
osoby = [
  %{jmeno: "Viktor", vek: 27, mesto: "Turnov"},
  %{jmeno: "Monika", vek: 23, mesto: "Jilemnice"},
  %{jmeno: "Kája", vek: 12, mesto: "Neratovice"},
  %{jmeno: "Albert", vek: 35, mesto: "Kralupy nad Vltavou"}
]

mesta = [
  %{nazev: "Turnov", okres: "Semily"},
  %{nazev: "Jilemnice", okres: "Semily"},
  %{nazev: "Neratovice", okres: "Mělník"},
  %{nazev: "Kralupy nad Vltavou", okres: "Mělník"}
]
```

```elixir
jmena_plnoletych = for o <- osoby, o.vek >= 18, do: o.jmeno
```

```elixir
vysledek =
  for o <- osoby, m <- mesta, o.mesto == m.nazev, o.vek >= 18 do
    {o.jmeno, m.okres}
  end
```

```elixir
vysledek =
  for o <- osoby,
      m <- mesta,
      o.mesto == m.nazev,
      o.vek >= 18,
      reduce: %{} do
    okresy ->
      Map.update(okresy, m.okres, [o.jmeno], fn
        jmena_v_okrese -> [o.jmeno | jmena_v_okrese]
      end)
  end
```
