@proelixir

Страница 459 из 1045
abc
24.03.2017
13:05:18
мне чет ни одна либа для телеги не понравилась

хотя перепробовал все

shadowjack
24.03.2017
14:45:09
А вот что касается стиля: как лучше писать

"$" <> function(x) или "$#{function(x)}"

Google
anton
24.03.2017
14:51:22
я за интерполяцию

Rafael
24.03.2017
14:52:11
я за интерполяцию
Это какой из примеров?

anton
24.03.2017
14:52:36
второй

Rafael
24.03.2017
14:53:25
Ну, в данном примере я тоже за него

Sergey
24.03.2017
14:53:30
А что в эликсире вместо sprintf?

Говорят что :io.format

Его не лучше?

Max
24.03.2017
14:56:07
:io_lib.format

Sergey
24.03.2017
15:09:34
господа, а в эрланге есть какая-нибудь интерполяция для binary? Типа у меня есть бинарная строка и значения, нужно совместить. Пока я сделал по-деревенски через lists:foldr и функцию, которая конкатенирует бинари «a/binary, b/binary». Но есть ли вариант как-то написать my_fun(«"Hello $1! Glad to see you $2"», [«"Anon"», «"my friend"»]).

Taras ?
24.03.2017
15:11:05
"$" <> function(x) или "$#{function(x)}"
мне первый больше нравится вариант

Ivan
24.03.2017
15:15:54
а шо там за тусовка с exercism ?

shadowjack
24.03.2017
15:16:23
у нас и на codewars уже банда.

Google
Ivan
24.03.2017
15:16:31
дикоемясо

shadowjack
24.03.2017
15:16:37
Ставьте клан pro.elixir

Ivan
24.03.2017
15:16:52
слава яйцам, ГХ ожил

shadowjack
24.03.2017
15:17:16
iex(11)> a "aaa" iex(12)> b "bbb" iex(13)> <<a::binary, " ", b::binary>> "aaa bbb"

Ilnur
24.03.2017
15:17:17
Ivan
24.03.2017
15:17:22
ну у меня не работал

часа 2 наверное

при чем из под впн все ок было

Ilnur
24.03.2017
15:17:44
a, ну значит ркн шалит

Ivan
24.03.2017
15:17:51
заигрались че то ну

Dmitry
24.03.2017
15:17:52
У меня все дорога работал

Sergey
24.03.2017
15:19:21
Var = «"777 ", A1/binary, A2/binary, "888", A3/binary, "Русский"/utf8, A4/binary» речь об этом ? варианта не видел, но думаю на макросе обертку сделать можно присоединяюсь к вопросу, тоже интересно
Ну если просто с конкатенировать лист бинарей — это просто. А вот для случая, когда у тебя есть типа какой-то шаблон и ты на него интерполируешь значения.

shadowjack
24.03.2017
15:19:24
iex(14)> "#{a} #{b}" "aaa bbb"

Sergey
24.03.2017
15:19:58
хм... ну в элексире — окей, а в эрланге?

shadowjack
24.03.2017
15:20:40
Ой я вопрос протупил

Taras ?
24.03.2017
15:21:24
хм... ну в элексире — окей, а в эрланге?
а в эрланге вызывай эликсир, чтобы без боли http://joearms.github.io/2016/03/13/Calling-Elixir-From_Erlang.html

а почему нет?

Google
Dmitry
24.03.2017
15:21:55
:io.format

Хоть бы кто доки прочитал

Sergey
24.03.2017
15:24:32
хм... а он разве не в стдоут пишет? А возвращает ok

shadowjack
24.03.2017
15:25:03
iolist_to_binary(io_lib:format("~s, ~s!", [A, B])).

Sergey
24.03.2017
15:26:24
iolist_to_binary(io_lib:format("~s, ~s!", [A, B])).
а вот это уже работает, спасибо

Can
24.03.2017
15:30:55
У нас тут австралийцы обитают

Нечасто мы читаем про австралийские разработки - а, возможно, зря. Вот чатбот с аватаром, вполне достоверно изображающим эмоции на своём лице, обладающим голосом Кейт Бланшетт и, что самое важное, - с умением понимать эмоции человека, проявляющиеся у него на лице (лицо, понятно, смотрит в веб-камеру). Задача чатбота отнюдь не развлекательная: он сделан по госзаказу и должен обеспечить лучшее обслуживание инвалидов. Для многих из них компьютер - основное окно в мир, а эмоциональная отзывчивость собеседника на экране критически важна. https://thenextweb.com/artificial-intelligence/2017/03/24/say-hello-to-nadia-the-terrifyingly-human-chatbot-with-emotional-intelligence/ Посмотреть ролик про то, как Надя (так зовут чатбота - или политкорректнее чатботессу?) работает и выглядит на экране можно вот здесь: https://youtu.be/0-BSrFQv2ls А мне ещё очень название компании-разработчика понравилось: Soul Machines.

Taras ?
24.03.2017
15:38:09
iolist_to_binary(io_lib:format("~s, ~s!", [A, B])).
оу йе... я с подобным надолбался день когда краказябра получалась почему-то, тоесть надо получить что-то с вк апи и вывести на страницу вот так заработало — name1 = :unicode.characters_to_binary(:unicode.characters_to_list(page_contents["first_name"]), :utf8, :latin1)

shadowjack
24.03.2017
15:49:44
Ну у эрланга с юникодом не оч

Taras ?
24.03.2017
15:58:57
подскажите как в фениксе "распарсить" в контроллере сложный запрос? имею ввиду — как определить наличие или отсутствие key-value со сложного ajax-запроса ? к примеру есть 10 пар key-value но часть с них могут время от времени отсутствовать или прилетать другие — типу a=a&b=b&c=c&d=d a=a&c=c&d=d a=a&d=d&z=z какие есть варианты кроме как "вручную" проверять наличие в мапе ключа? есть ли другой путь кроме как быстро велосипедить N функций? может чего по этой теме уже встречали?

чет я даже туплю как вопрос к дядьке гуглу составить чтобы подсказку получить... ))

Александр
24.03.2017
16:00:51
сделать функцию обработчик с паттерн матчингом

Александр
24.03.2017
16:01:13
а лучше привести реальный пример задачи

Dmytro
24.03.2017
16:03:22
http://embed.nicovideo.jp/watch/sm8705225 не понимаю, кто может делать такие вещи :/

shadowjack
24.03.2017
16:07:57
Что там гугл, я тоже не понял.

Taras ?
24.03.2017
16:08:19
сделать функцию обработчик с паттерн матчингом
это норм если параметров 2-3 а когда 10-20 — это уже получается по факториалу вариантов...

а лучше привести реальный пример задачи
да пример реальный — поиск в инет-магазине, к примеру поиск-сортировка вывод товаров — к примеру смартфонов

Александр
24.03.2017
16:12:39
так там 3-4 поля, которые участвуют в построении запроса

не 10-20 же

Taras ?
24.03.2017
16:13:15
в базе лежать строчки, по ajax мы делаем запрос — procmin=2cores&procmax=8cores&displaymin=5inc&displaymax=7inc&cameramin=5pm&cameramax=15pm&2sims=true&3sims=true&android=true&androidv=5&androidv=4 типу такого

Google
Александр
24.03.2017
16:14:02
хммм, я понял такое сам не делал надо обдумать...

Taras ?
24.03.2017
16:14:02
так там 3-4 поля, которые участвуют в построении запроса
нет, не три да, мой вопрос насчет 10+ параметров, включая и диапазоны — и от, и до, и одновременно и от и до - и так по многим параметрам

shadowjack
24.03.2017
16:14:08
Ты определи что на входе, что на выходе. И как они должны быть связаны.

Половина решения задачи

а шо там за тусовка с exercism ?
Ну просто команда (team). Хочешь, тебя добавлю.

Александр
24.03.2017
16:16:17
делаем функцию с case внутри где есть все виды ключей для фильтрации, по которым модифицируется запрос и редьюсим conn.params по этой функции

не?

Taras ?
24.03.2017
16:17:47
на входе — набор параметров который интересен пользователю на сайте на выходе — показать пользователю то что он ищет (понятное дело тут достать с базы сначала) я сейчас торможу на вопросе как сделать $sql_part = ''; if(isset($_POST['android'] === true)){ $sql_part .= 'AND "OS" = "android" '; } ... вот такое, только в elixir в фениксе, а не в php

Admin
ERROR: S client not available

Александр
24.03.2017
16:18:23
а ты ecto моделями не пользуешься?

Taras ?
24.03.2017
16:18:28
Ну трансформируй этот набор параметров в запрос.
да, сдесь я и туплю, вопрос - как это оптимизированней сделать

shadowjack
24.03.2017
16:18:50
Ты думай об оптимизации в последнюю очередь

Александр
24.03.2017
16:18:57
ааа, это же на похапе пример

Александр
24.03.2017
16:19:44
запрос это Ecto.Query

Taras ?
24.03.2017
16:19:51
а ты ecto моделями не пользуешься?
прошлый опыт не понравился — не идет оно мне, медленно получается очень (а я и так слоупок) сложная форма и кучки чейнджсетов —- вообще ад какой-то, проще по аджаксу пустить и в обход, на своих велосипедах

shadowjack
24.03.2017
16:20:17
Медленно исполняется?

Или пишется?

Taras ?
24.03.2017
16:20:55
пишется

Google
shadowjack
24.03.2017
16:21:28
Ну не знаю, это с непривычки наверное

Taras ?
24.03.2017
16:24:09
о, понял, получилось нагуглить iex(18)> string_key_map = %{"foo" => "bar", "hello" => "world"} %{"foo" => "bar", "hello" => "world"} iex(19)> for {key, val} <- string_key_map, into: %{}, do: {String.to_atom(key), val} %{foo: "bar", hello: "world"} этого то мне и нехватало

благодарю за помощь?

shadowjack
24.03.2017
16:25:13
Так нельзя

Taras ?
24.03.2017
16:25:28
? почему

shadowjack
24.03.2017
16:26:42
Дырка потому что. Динамически создавать атомы из того что пришло снаружи чревато - атомы никогда не удаляются из памяти

Taras ?
24.03.2017
16:27:29
да не, я ж там атом не буду создавать, бинарник приходит и ок

shadowjack
24.03.2017
16:27:38
Соответственно я могу выжрать у тебя всю память и BEAM упадет

Taras ?
24.03.2017
16:27:39
это просто пример нагугленный

shadowjack
24.03.2017
16:28:11
А, ясно.

Ну это простой comprehension (как по русски?)

Ты бы спросил - как итерироваться по мапу.

Александр
24.03.2017
16:30:25
Enum.reduce(conn.params, query, fn ({key, value}, res) -> filter_query(key, value, query) end)

я бы как-то так прошёл

shadowjack
24.03.2017
16:31:03
Да, это по функциональному

Только там должно быть наверное filter_query(res, key, value) наверное

Или where(res, filter_query(key, value))

Я не очень знаю как экто работает, но res по любому должен использоваться

Александр
24.03.2017
16:37:02
соотв: def filter_query(filter_name, filter_val, query) do case filter_name do displaymin -> query |> where([p], p.displaymin == filter_val) displaymax -> query |> where([p], p.displaymax == filter_val) ... _ -> query end end

res в reduce - это последнее выполненное выражение

если в него постоянно возвращать query

всё будет просто супер

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