Size: a a a

2020 June 12

ŹR

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

PG

Pig Greenest in pro.elixir
В любом случае, а какие альтернативы?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Pig Greenest
В любом случае, а какие альтернативы?
Линзы вон Георгий написал
источник

LL

Lama Lover in pro.elixir
Pig Greenest
В любом случае, а какие альтернативы?
Можно макрос писать
Если структура типа %Structure{key1: value1, key2: value2}
Можно написать что-то типа
defmacrop structure(value1, value2) do
 quote(do: %Structure{key1: unquote(value1), key2: unquote(value2)})
end

И тогда можно матчить по
def func(structure(a, b))
источник

IK

Ihor Katkov in pro.elixir
Суть в понимании, в чем разница между одной и той же функцией. К примеру:
https://gist.github.com/ihorkatkov/af07260d32aa9b97f785b8ab64304f21
источник

PG

Pig Greenest in pro.elixir
Lama Lover
Можно макрос писать
Если структура типа %Structure{key1: value1, key2: value2}
Можно написать что-то типа
defmacrop structure(value1, value2) do
 quote(do: %Structure{key1: unquote(value1), key2: unquote(value2)})
end

И тогда можно матчить по
def func(structure(a, b))
Можно, в общем случае не поможет
источник

LL

Lama Lover in pro.elixir
Ihor Katkov
Суть в понимании, в чем разница между одной и той же функцией. К примеру:
https://gist.github.com/ihorkatkov/af07260d32aa9b97f785b8ab64304f21
Ты просто взял код @Virviil -а и написал how to not pattern match
Ахаха
источник

IK

Ihor Katkov in pro.elixir
@Virviil нужно поднапрячься и рассмотреть различия между паттерн-матчингом аргументов
источник

IK

Ihor Katkov in pro.elixir
Lama Lover
Ты просто взял код @Virviil -а и написал how to not pattern match
Ахаха
я добавил примеры (другие функции)
источник

LL

Lama Lover in pro.elixir
Pig Greenest
Можно, в общем случае не поможет
Это правда
источник

LL

Lama Lover in pro.elixir
Ihor Katkov
я добавил примеры (другие функции)
Ааааа
источник

LL

Lama Lover in pro.elixir
Pig Greenest
Можно, в общем случае не поможет
Ну так в общем случае тащи линзы. Ими вообще можно программировать
источник

PG

Pig Greenest in pro.elixir
Было бы прикольно конвертить твой path в паттерн
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Ihor Katkov
@Virviil нужно поднапрячься и рассмотреть различия между паттерн-матчингом аргументов
Ну я же не дибил всё-таки. В handler (модуль) с названием private я не буду писать public. А старт и стоп можно выделить строкой с комментами.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но если я буду так делать - то понятно дело меня ничего не спасёт
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Если у меня будет тысяча разных команд - вероятно надо делать какой-то механизм роутинга, но в данном контексте это overingeneering
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А самое главное, если бы в теле функции было бы что-то типа

response.foo.bar.baz.text == “/start” это бы меня не сильно спасло
источник

IK

Ihor Katkov in pro.elixir
Źmićer Rubinštejn
Но если я буду так делать - то понятно дело меня ничего не спасёт
ты то не дебил. А вот всех остальных нужно проверять) Поэтому, для простоты, лучше матчить только то, что отличает функции от друг-друга
https://gist.github.com/ihorkatkov/6a2ab99f3f39c346403642e3f6181f41
источник

IK

Ihor Katkov in pro.elixir
Źmićer Rubinštejn
Если у меня будет тысяча разных команд - вероятно надо делать какой-то механизм роутинга, но в данном контексте это overingeneering
да понятно, это я к примеру
источник

LL

Lama Lover in pro.elixir
Pig Greenest
Было бы прикольно конвертить твой path в паттерн
Пожелание принято
источник