Size: a a a

2021 April 30

AB

Alex Bubnov in pro.elixir
Не нужно.
источник

AB

Alex Bubnov in pro.elixir
Алсо, вроде бы есть возможность декларировать свои инфиксные операторы
источник

LL

Lama Lover in pro.elixir
if matсh?([], list), do: ..., else: ...
источник

V

V in pro.elixir
что такое match?
источник

AB

Alex Bubnov in pro.elixir
это такой инлайновый case
источник

V

V in pro.elixir
да, работает
источник

V

V in pro.elixir
норм вариант
источник

LL

Lama Lover in pro.elixir
Вообще match? это суперкрутой макрос, которым почему-то очень мало кто пользуется. Вот только что грепнул по проекту в 300k строк и нашёл всего лишь 100 использований match? из которых около 20-ти мои
источник

LL

Lama Lover in pro.elixir
Очень грустно видеть очередной
|> Enum.filter(fn item ->
 case Map.get(item, field) do
   nil -> false
   _ -> true
 end
end)
источник

AD

Anastasiya Dyachenko in pro.elixir
при :aaa этот вариант выдаст c как и твой case
источник

LL

Lama Lover in pro.elixir
Когда с match? это просто
|> Enum.filter(& match?(%{^field => v} when v != nil, &1))
источник

AD

Anastasiya Dyachenko in pro.elixir
чем match? в данном случае отличается от == ?
источник

AD

Anastasiya Dyachenko in pro.elixir
или от in как выше было
источник

V

V in pro.elixir
слушай, ну нет же
источник

B

Bogdan in pro.elixir
мне вариант с case больше нравится.
источник

AD

Anastasiya Dyachenko in pro.elixir
iex(5)> if :aaa in [nil, []], do: 1, else: 2
2
источник

V

V in pro.elixir
начнём с того, что чел в собственном примере допустил две ошибки
a = if a in [nil, []], do: b, else: c

видимо он имел ввиду
a = if b in [nil, []], do: c, else: b
источник

V

V in pro.elixir
вторая и существенная ошибка - перепутаны b и c в do/else
источник

AD

Anastasiya Dyachenko in pro.elixir
ну в общем целом вариант с in рабочий
источник

AD

Anastasiya Dyachenko in pro.elixir
я все еще не понимаю в чем преимущество match
источник