Size: a a a

2018 November 07

(

( in pro.elixir
Fey Martynov
лямбда делает замыкание => анонимная ф-ия будет создаваться на каждый вызов основной функции
Откуда там замыкание?
источник

FM

Fey Martynov in pro.elixir
в лямбде можно использовать аргументы функции и переменные, определённые выше
источник

Е

Евгений in pro.elixir
а можно и не использовать
источник

(

( in pro.elixir
Вот именно, в примере выше я замыканий не увидел
источник

FM

Fey Martynov in pro.elixir
да, это очевидно не оптимизируется
источник

Е

Евгений in pro.elixir
в тестовом примере нет замыканий, какого оно так тормозит?
источник

АП

Артем Паньков in pro.elixir
Anatoliy Kovalchuk
все говорят про библиотеки без какой-то конкретики, чего вам нехватает?
вот ещё конкретика - arc и arc_ecto
источник

A

Anatoliy Kovalchuk in pro.elixir
а что с ними? вроде норм работают
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Евгений
Вопросик. Допустим у меня в теле одной функции в разных местах несколько раз нужно выполнить некий один и тот же код. Как лучше сделать: лямбдой или все же вынести в отдельную приватную функцию? Или пофиг?
def foo(a) do
 bar = fn x ->
   ...
 end
 ...
 bar.(c)
 ...
 bar.(d)
 ...
end
или
def foo(a) do
 ...
 bar(c)
 ...
 bar(d)
 ...
end

defp bar(x) do
 ...
end
Вынести в отдельную приватную функцию - правильный ответ
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вообще самый неправильный знак в эликсире - равно в теле функции
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Вообще самый неправильный знак в эликсире - равно в теле функции
попахивает религиозной крайностью
источник

Е

Евгений in pro.elixir
Źmićer Rubinštejn
Вынести в отдельную приватную функцию - правильный ответ
засирать контекст модуля функциями-хелперами, которые нужны только одной другой функции?
источник

PS

Petr Stepchenko in pro.elixir
Приватные функци не застирают контекст, а добавляют читаемости коду
источник

DS

Dmitry Shpagin in pro.elixir
Petr Stepchenko
Приватные функци не застирают контекст, а добавляют читаемости коду
Если не использовать знак равно, то скорей всего засирают
источник

DS

Dmitry Shpagin in pro.elixir
иначе кучу функцию придется плодить
источник

Е

Евгений in pro.elixir
Petr Stepchenko
Приватные функци не застирают контекст, а добавляют читаемости коду
смотря какие функции. для меня функция - это некий черный ящик и весьма неприятно, когда ее кишки в виде подфункций хелперов размазаны по всему модулю.
источник

Е

Евгений in pro.elixir
Dmitry Shpagin
Если не использовать знак равно, то скорей всего засирают
избегание знака равно в теле функции вобще похоже на фетиш уродующий код.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Źmićer Rubinštejn
Вообще самый неправильный знак в эликсире - равно в теле функции
Это очень религиозное мнение, которого придерживается в чате, насколько я знаю, один человек (и в Elixir-е community скорее всего тоже).
источник

Е

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

Е

Евгений in pro.elixir
Вот богомерзкий непонятный вариант со знаками равно:
defmodule QE do
 def solve(a, b, c) do
   d = b * b - 4 * a * c

   cond do
     d >= 0 ->
       x1 = (-b + :math.sqrt(d)) / (2 * a)
       x2 = (-b - :math.sqrt(d)) / (2 * a)
       {x1, x2}

     _ ->
       :error
   end
 end
end
источник