
Aldar
06.09.2018
19:30:13
a -> b, вот функция берет аргумент a и возращает b

Vasiliy
06.09.2018
19:30:14
Унесите этого к хаскелистам плез

Aldar
06.09.2018
19:31:01
a -> b -> c, это когда ты берешь функцию от а, она возращает функцию от b и возвращает с : a -> (b -> c)
a -> b -> c -> d это все равно что a ->(b ->(c -> d))

Google

Vasiliy
06.09.2018
19:31:46
Зачем ты приводишь сюда примеры на хаскеле?

Aldar
06.09.2018
19:32:30
это не на хаскеле, а на пальцах, просто обозначение a -> b вроде понятно должно быть

Daniel
06.09.2018
19:32:57
представь, что у нас есть функция compose, и когда мы делаем вот так compose(f, g, h)(x) это эквивалентно f(g(h(x))) а представь, если, например, h принимает два аргумента, то ты не можешь их композировать. тогда ты ее частично применяешь compose(f, g, h(y))(x) что тоже самое, что и f(g(h(y, x)))
походу еще сильнее запутал

Vasiliy
06.09.2018
19:35:01
Да не, норм
Ну смотри
В рубях же такое говно не пройдет, мы не можем по человечьи передать ссыль на функцию
Хотя если методом curry передать то в принципе вызова не будет и будет ссыль
А частичное применение это когда ты застолбил аргумент и сделал такую функцию?
Так погоди, у тебя в примере получается композ это карирующая функция, верно?

Felix
06.09.2018
19:39:59
представь, что у нас есть функция compose, и когда мы делаем вот так compose(f, g, h)(x) это эквивалентно f(g(h(x))) а представь, если, например, h принимает два аргумента, то ты не можешь их композировать. тогда ты ее частично применяешь compose(f, g, h(y))(x) что тоже самое, что и f(g(h(y, x)))
бл*ть это же обычный закон композиции из матана
разве не подойдет?

Google

Daniel
06.09.2018
19:41:06
ну в матане еще кодомены должны с доменами совпадать, а так да. ФП в большей части состоит из матана

Vasiliy
06.09.2018
19:42:58

Daniel
06.09.2018
19:43:52
да не, -> (a, b, c) { ... }.curry - это как раз таки тоже самое
вот это я карировал ^^

Felix
06.09.2018
19:44:54

Daniel
06.09.2018
19:45:01
а вот я так я могу частично применить - foo.(10).(20)

Felix
06.09.2018
19:45:22
может быть отображение из алфавита символов в множество цифр как вариант

Vasiliy
06.09.2018
19:45:51
Ну тут у тебя функция три аргумента принимает, а я скорее писал про то что функция будет принимать 3 функции

Felix
06.09.2018
19:46:28

Daniel
06.09.2018
19:46:37
ну вот есть функция f: A -> B, и g: C -> D Их можно скомпозить, только в том случае, когда B = C

Vasiliy
06.09.2018
19:46:37
Хотя не, с лябдами я походу накривил
У тебя в проде такой код на рубях?)

Felix
06.09.2018
19:47:29
забираю свои слова обратно ) туплю

Daniel
06.09.2018
19:47:37
да-да, C >= B, это ты верно заметил

Felix
06.09.2018
19:47:57

Daniel
06.09.2018
19:48:23
композиция же не коммутативная

Felix
06.09.2018
19:48:30
тогда и А >= D должно быть

Daniel
06.09.2018
19:49:22

Google

Daniel
06.09.2018
19:50:03
они могут и не пересекаться в общем случае

Felix
06.09.2018
19:50:07
так мы может сделать и g(f)

Daniel
06.09.2018
19:50:40
ну, это уже будет другая композиция...

Felix
06.09.2018
19:50:57
но мы же в общем случае говорим, для двух отображений)

Daniel
06.09.2018
19:51:49
если в теоритико-множественном смысле, то нет. f(g(x)) и g(f(x)) - это совсем разные функции
так, я понял, что не знаю матан на русском)
отображение - это relation?

Felix
06.09.2018
19:52:57
я и не спорю. но чтобы можно было сделать как f(g(x)), так и g(f(x)) — должны выполняться условия C >= B и А >= D

Daniel
06.09.2018
19:54:21

Dima
06.09.2018
19:55:22

Daniel
06.09.2018
19:56:28
как выше писали, в руби есть метод #curry, который делает почти тоже самое

Dima
06.09.2018
19:56:30
Откуда во второй б
Он функцию возвращает, а не ответ функции. Т.е. в данном случае он Lambda верент который далшье можно будет пользовать.

Alexey
06.09.2018
20:06:34
@daniel_bober , ни слова про скалу, как так?

Daniel
06.09.2018
20:08:24
у меня уже вены на лбу вздулись, но я держусь
а это же все-таки руби чат

Dima
06.09.2018
20:09:01

Daniel
06.09.2018
20:09:11
ой зря...

Alexey
06.09.2018
20:09:16

Google

Admin
ERROR: S client not available

Dima
06.09.2018
20:09:17
да ничего не зря.

Alexey
06.09.2018
20:10:17
да ничего не зря.
Да ладно, мы шуткуем, он просто в любом нашем разговоре о девелопменте заканчивает примером из скалы:)

Aldar
06.09.2018
20:12:39
скала на руби похожа тем что там деф и ретурна нет
? на этом сходства заканчиваются

Felix
06.09.2018
20:17:33
"угадай человека по стикеру с первого раза" ))

Daniel
06.09.2018
20:18:46
так-то мне скала показалась гораздо гибче, чем руби. и при этом все это type safe. но у всего есть цена - у скалы очень сложная система типов

Vasiliy
06.09.2018
20:25:28
Она же ещё память вроде жрет как сука т.к. жвм

Aldar
06.09.2018
20:26:01
запостить стикер с неведомым животным - скалой

Daniel
06.09.2018
20:27:36

Vasiliy
06.09.2018
20:28:08
Руби течет - не путой

Daniel
06.09.2018
20:28:10
руби ест гораздо больше памяти

mr.Serj
07.09.2018
06:16:55

Roman
07.09.2018
07:17:53
посмотри в логах, какой ключ запрашивается. может там updated и не участвует
в логе есть строка с ключом
а хотя для multi может и нет. вроде можно включить

Ruslan
07.09.2018
07:59:16
привет, есть особенности использования devise в rails api (связка с Angular6) ?

Roman
07.09.2018
08:03:19

Google

Alex
07.09.2018
08:34:41
Помогите плиз с методом, он должен возвращать что-то одно из 3х вариантов.
def prev_obj_type (метод который надо сделать)
@dot_application.location || @dot_application.users.first || @dot_application.lead_source
end
def location (метод который обзначает что значит location в методе выше, для ясности)
company.try(:primary_location)
end
Спасибо.

Ruslan
07.09.2018
08:36:39
при отправке post запроса данные приходят, но user не создается
в чём может быть причина?

Ilya
07.09.2018
08:39:33
загугли 422 ошибку в рельсах

et
07.09.2018
08:40:09
в permit params

Vasiliy
07.09.2018
08:41:38
при чем тут csrf у него же в ошибке явно указаны имейл и пароль