Size: a a a

2018 November 09

ŹR

Źmićer Rubinštejn in pro.elixir
Лучше расскажите пример функции, где такое может понадобиться
источник

Е

Евгений in pro.elixir
Ну типа
def foo(key, %{^key => value}), do: {:ok, value}
def foo(_, _), do: {:error, :key_not_found}
вместо
def foo(key, map) do
 case map do
   %{^key => value} -> {:ok, value}
   _ -> {:error, :key_not_found}
 end
end
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Евгений
Ну типа
def foo(key, %{^key => value}), do: {:ok, value}
def foo(_, _), do: {:error, :key_not_found}
вместо
def foo(key, map) do
 case map do
   %{^key => value} -> {:ok, value}
   _ -> {:error, :key_not_found}
 end
end
Это сферическая функция в вакууме, а не пример
источник

SG

Shumilkin Gena in pro.elixir
Map.get(_,_,:not_f)
источник

Е

Евгений in pro.elixir
Shumilkin Gena
Map.get(_,_,:not_f)
да, я в курсе
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Это сферическая функция в вакууме, а не пример
У меня было пару раз, нечто подобное, легко решалось переносом матчинга в  тело функции.
Так что чисто эстетическая хрень. Ну для удовлетворения перфекционизма ради кала.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
У меня такая ошибка была один раз в жизни, и то где-то через неделю после знакомства с эликсиром.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Так что чисто по ощущениям такая проблема может возникнуть от недостаточно функционального мышления
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И фиговой архитектуры
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но я не буду этого утверждать
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Поэтому попросил пример
источник

Е

Евгений in pro.elixir
Причем тут архтектура? Тут скорее переизбыток функционального мышления
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Семантика функции в которую нужно передать и мап и ключ от этой мапы по русски называется «архитектура»
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вообще любая семантика функции по русски называется «архитектура»
источник

Е

Евгений in pro.elixir
Ну тогда Map.get - это фиговая архитектура :D
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Нет, потому что это одна функция которая лежит в stdl
источник

Е

Евгений in pro.elixir
Ну и какой-нибудь handle_call в генсервере у которого стейт - мапа, тоже фиговая архитектура :)
источник

Е

Евгений in pro.elixir
миллион случаев когда в функцию передается ключ и мапа, одновременно или в составе более сложной структуры, какая фиговая архитектура?
источник

Е

Евгений in pro.elixir
как еще функции достать что-то из мапы, если у нее нет ключа? Ха
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ты читать умеешь? Где я сказал что это фиговая архитектура?
источник