@proelixir

Страница 437 из 1045
Dmitry
17.03.2017
21:12:08
В 99,9% случаев у них following = false по дефолту

Alexey
17.03.2017
21:12:26
добавь туда еще одно поле - какой-нибудь TTL

Dmitry
17.03.2017
21:13:49
Если оно сильно различается - отправлю вперёд following

Если нет - запихну в конец

Google
Dmitry
17.03.2017
21:14:52
Вот ещё пример - пишу в монгу длинный лист, в одной транзакции по 100 сообщений def new_from_ids(id_list, blob_size \\ 100)

Если сильно припрёт - сделаю по 1000 или по 50 сообщений

и ничего тут не изменится

Alexey
17.03.2017
21:15:42
а. во. вроде что-то нащупал

определяешь их две

def test_fn(:atom1, b \\ 2, c \\ 3), do: a + b + c def test_fn(:atom2, b \\ 2, c \\ 3), do: a + b + c

в чем моя ошибка?

Dmitry
17.03.2017
21:16:18
Так нельзя

Упадёт

Alexey
17.03.2017
21:16:22
почему?

оно даже не падает. не соберет

Dmitry
17.03.2017
21:17:51
Надо так def test_fn(atom, b \\ 2, c \\ 3) def test_fn(:atom1, b, c), do: .... def test_fn(:atom2, b, c), do: ....

Alexey
17.03.2017
21:18:21
ну и тогда хер цена твоим \\

Google
Dmitry
17.03.2017
21:18:32
И это потому что макрос разворачивает в то что ты руками написал

Alexey
17.03.2017
21:18:40
ты уж извини )

Dmitry
17.03.2017
21:19:03
Хз, мне норм)

Alexey
17.03.2017
21:19:04
не. ну я вот обязан чтоли знать, кто там и во што разворачивает )

Dmitry
17.03.2017
21:19:22
не. ну я вот обязан чтоли знать, кто там и во што разворачивает )
Так он в стаке пишет когда не компилируется

Alexey
17.03.2017
21:19:26
вот уже второй на сегодня пример. первый - арити перепутали. второй - \\ не правильно запилили

ну вот он так и пишет: definitions with multiple clauses and default values require a function head. Instead of: def foo(:first_clause, b \\ :default) do ... end def foo(:second_clause, b) do ... end one should write: def foo(a, b \\ :default) def foo(:first_clause, b) do ... end def foo(:second_clause, b) do ... end

Dmitry
17.03.2017
21:20:12
Ну дык то что я и написал)

Alexey
17.03.2017
21:20:37
просто, если мне регламентируется, что у меня есть чудесный инструмент сокращения кода, то я очень хочу так и писать*. например, у тебя фанки, которые разные команды по атому матчат и выполняют

ну вот согласись, че бы их не записать так, как я предложил?

вроде оно логично. если не знать о том, что оно не скомпилируется из за особенностей эликсира

так же как и фанки с разным арити в перемежку

ну вот не очевидно, что так нельзя, хоть тресни. вот именно вот эти подковерные вещи эликсира местами могут напрягать.

Dmitry
17.03.2017
21:23:15
С одной стороны оно конечно логично. Но с другой - вот ты знаешь что такая функция разворачивается в 3. Значит 2 такие функции развернутся в 6, а если руками писать - надо всего 4. Сразу заставляет задуматься , что "логично" - не совсем

Ну и конечно на такие грабли можно наступить 1 раз и все. Больше не наступишь

Alexey
17.03.2017
21:24:22
ну вот оно вроде упрощение. если это в доке написать, которая типа hello world. а если писать вещи реального мира, то оказывается совсем не так и красиво

т.е. тебе как надо было 3 функции написать разных, ты их и пишешь. сэкономил по сути только на тексте тела первой функции )

Dmitry
17.03.2017
21:26:11
Впрочем, если почитать metaprogramming elixir - сразу легче становится

Alexey
17.03.2017
21:26:40
или не. погоди. в тексте первой то ты все равно должен что-то написать.

Google
Dmitry
17.03.2017
21:26:44
А его мало кто читает...

Alexander
17.03.2017
21:26:59
отличная вообще книжка, ушла за неделю

Dmitry
17.03.2017
21:27:22
Это блин самое неочевидное

Alexey
17.03.2017
21:27:39
вот метапрограммирование у меня в очереди на закачку ))

Admin
ERROR: S client not available

Alexey
17.03.2017
21:27:41


Can
17.03.2017
21:27:41
Всем пятничного настроения

Замутили бота который ищет по фотке похожих порнокюактрис

@SimfaceBot

Alexey
17.03.2017
21:28:09
воо! годнота

Dmitry
17.03.2017
21:28:11
вот метапрограммирование у меня в очереди на закачку ))
Да ладно) 4,5 мб по первой ссылке в гугле )))

Dmitry
17.03.2017
21:28:37
Скиньте фотку какую на потестить бота

Alexey
17.03.2017
21:28:50
так я не про загрузку на диск. а про загрузку в голову

везет тебе. я загрузил фото - и ничего не нашло



Alexander
17.03.2017
21:30:52
> @bolshakov_av эликсир взял и перемешал их. и не чухнул даже def fnnn(1), do: "1" def fnnn(a, b), do: a / b def fnnn(2), do: "2" warning: clauses for the same def should be grouped together, def fnnn/1 was previously defined (length_converter.ex:2)

Can
17.03.2017
21:31:05
он лицо сначала ищет походу

Alexander
17.03.2017
21:32:19
работают

Google
Alexey
17.03.2017
21:32:52
вот хорошо тут. вроде была проблема. а поковыряли - и нет ее

а на warning новичек может и забить

вот жаль, что с \\ меня компилятор не понимает и мнение мое не разделяет

Dmitry
17.03.2017
21:34:39
Можно переписать теоретически

Только вроде как когда понимаешь что это макрос - все логично становится

Alexander
17.03.2017
21:35:49
> макрос А как оно развернется?

Страница 437 из 1045