@proelixir

Страница 442 из 1045
Alexander
19.03.2017
12:43:34
filename: filename, canvas: %Canvas{} = canvas это дешугарится в [{:filename, filename}, {:canvas, %Canvas{}=canvas}]

и потом матчится: должен вернуться такой вот список с такими вот туплами, и если это он и есть — то привязываем filename и canvas переменные к тому, что там передали

Rafael
19.03.2017
12:44:08
filename: filename, canvas: %Canvas{} = canvas это дешугарится в [{:filename, filename}, {:canvas, %Canvas{}=canvas}]
господи, кажется этого мне всегда нехватало в других языках

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

Google
Alexander
19.03.2017
12:45:08
э… в смысле? я то ли не понял, то ли плохо объяснил

Dmitry
19.03.2017
12:45:33
Rafael
19.03.2017
12:46:05
canvas: %Canvas{} = canvas, filename: filename если изменю порядок подачи аргументов в функцию, то ничего сломаться же не должно?

Dmitry
19.03.2017
12:46:18
Все сломается

Rafael
19.03.2017
12:46:24
Dmitry
19.03.2017
12:47:09
Вообще говоря зависит от реализации, но ставлю на то, что автор твоей либы не умеет готовить это правильно и все поломается

Потому что 90% либ в Хексе с такой фигней

Впрочем у тебя есть 10%...

Rafael
19.03.2017
12:48:30
Впрочем у тебя есть 10%...
не, не, пока не буду туда лесть, мозг еще не перестроился под логику вашего языка

Dmitry
19.03.2017
12:49:05
Скажу тебе по секрету что такая штука есть в питоне - без матчинга конечно

Есть в C#

Начиная я 4 версии языка

Так что я не понимаю на каких языках ты пишеш)

Google
Rafael
19.03.2017
12:50:35
а, на питоне тоже писал года 2 назад, но в последнее время он меня сильно бесит, из-за того, что нам кучу дз дают писать на нем, используя всякие NumPy и прочую лабуду для машинистов, статистов

shadowjack
19.03.2017
12:54:10
Вот тут скобки лучше не использовать, хотя можно) def(foo, [do: :bar])
Ну скобки использовать при вызове функций, а не макросов.

Dmitry
19.03.2017
13:01:23
def write_user([name: name, age: age]) do IO.puts "User is #{name} aged #{age}" end def write_user_good(options) do name = Keyword.get(options, :name) age = Keyword.get(options, :age) IO.puts "User is #{name} aged #{age}" end

iex(1)> Playground.write_user(name: "Virviil", age: 25) User is Virviil aged 25 :ok iex(2)> Playground.write_user(age: 25, name: ) iex(3)> Playground.write_user(age: 25, name: "Virviil") ** (FunctionClauseError) no function clause matching in Playground.write_user/1 (playground) lib/playground.ex:22: Playground.write_user([age: 25, name: "Virviil"]) iex(3)> Playground.write_user_good(age: 25, name: "Virviil") User is Virviil aged 25 :ok iex(4)> Playground.write_user(name: "Virviil", age: 25) User is Virviil aged 25 :ok

Это секреты ТОЛЬКО для крутых пацанов

Rafael
19.03.2017
13:39:39
вах-вах-вах

Alexey
19.03.2017
13:47:09
Все сломается
можно передавать 1 параметр - мапу

а там уже матчишься в произвольные ключи, в произвольном порядке и количестве.

Dmitry
19.03.2017
14:06:04
def foo(args), do: _foo(Keyword.get(...), Keyword.get(...), ...)

Taras ?
19.03.2017
14:14:48
У меня нет такого варнинга
warning: the variable "changeset" is unsafe as it has been set inside a case/cond/receive/if/&&/||. Please explicitly return the variable value instead. For example: case int do 1 -> atom = :one 2 -> atom = :two end should be written as atom = case int do 1 -> :one 2 -> :two end Unsafe variable found at: web/models/member.ex:89 вот такой например

shadowjack
19.03.2017
14:17:45
Dmitry
19.03.2017
14:19:13
Можно делать структуру

И на каждую функцию - свою структуру

Dmitry
19.03.2017
14:19:38
Строгая типизация будет

shadowjack
20.03.2017
08:18:49
Что-то тихо стало...

anton
20.03.2017
08:20:17
я тут :)

Google
Alexander
20.03.2017
08:20:22
Тк у меня все хорошо

Завтра продолжаем проект

Так что держитесь :)

shadowjack
20.03.2017
08:21:33
Есть идеи какое демо-приложение накодить в элексире/фениксе для того чтобы показать работодателю?

shadowjack
20.03.2017
08:22:43
Не ну блог можно и на вордпрессе сделать. Что-нибудь такое с каналами.

Dmitry
20.03.2017
08:23:02
Вот все такие просят - а потом сливаются

Alexey
20.03.2017
08:23:06
блог можно на чём угодно сделать :)

Dmitry
20.03.2017
08:23:10
Твиттер мне так никто и не сделал

anton
20.03.2017
08:24:27
shadowjack
20.03.2017
08:24:30
Могу сделать трансляцию топ 100 российских твиттер-акаунтов в риалтайме. Алгоритм ранжирования у меня уже есть, правда на питоне.

Rail'
20.03.2017
08:24:56
блог можно на чём угодно сделать :)
можно все что угодно сделать на чем угодно

shadowjack
20.03.2017
08:26:32
можно все что угодно сделать на чем угодно
Ну да, вопрос в деньгах и времени. Блог на асме будет очень долго делать.

сделай мое дз
не, во-первых тебе полезнее. Во-вторых, не впечатлит работодателя.

Rafael
20.03.2017
08:28:46
не, во-первых тебе полезнее. Во-вторых, не впечатлит работодателя.
свое я сделаю сам, а для тебя: покажет что ты можешь в форматы, pattern matching, там же есть rest ну и проч проч проч

Alexander
20.03.2017
08:30:22
Твиттер мне так никто и не сделал
Я сделаю. Только вот getting-started дочитаю сначала ))

Александр
20.03.2017
08:31:00
Есть идеи какое демо-приложение накодить в элексире/фениксе для того чтобы показать работодателю?
у меня есть идея, но очень сложная можно сделать аналог https://hackpad.com , но чтобы не тормозил

последние годы испытываю недостаток какой-то удобной онлайн Базы Знаний/записной книги

Google
Roman
20.03.2017
08:32:22
последние годы испытываю недостаток какой-то удобной онлайн Базы Знаний/записной книги
структурированной под себя, причем чтоб эта структура незаметно менялась под интуитивное управление.

Александр
20.03.2017
08:32:27
всякие evernote, notes, confluence либо лишком ущербные, либо слишком перегруженные и все неудобные

плюс у всех у них проблемы с группировкой и поиску по датам

то есть, раз в полгода мне нужен какой-то SQL запрос

ни одной системы пока не видел, где можно быстро его найти

сейчас храню в файликах ((

shadowjack
20.03.2017
08:34:18
Александр
20.03.2017
08:35:11
ну как там хранить и искать SQL запросы?

охота прилепить тэг и знать дату

Admin
ERROR: S client not available

Александр
20.03.2017
08:35:51
и быстро искать используя эти данные

плюс набирать типа как в https://workflowy.com

плюс в markdown хранить и редактировать

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

shadowjack
20.03.2017
08:37:31
охота прилепить тэг и знать дату
вместо тэга можно использовать узел. А дату зачем?

Dmitry
20.03.2017
08:37:43
Git book есть

Коллаборация и маркдаун из коробки , а искать вообще можно гуглом

shadowjack
20.03.2017
08:40:28
в общем вот такая идея, не покидает меня уже с год, надо время найти и запилить
Ну не знаю. Посмотри все же на mind map, для организации знаний мне кажется удобнее чем линейные структуры (списки и т.п.)

https://www.youtube.com/watch?v=kR0CNNm5PlY

Marat
20.03.2017
08:52:05
Твиттер мне так никто и не сделал
Твиттер то сделать не проблема, но его потом вырастить надо, а кому это надо?

Google
shadowjack
20.03.2017
09:03:05
Сейчас обнаружил что в конструкторе бинарей (<<>>) при указании размера нельзя использовать константные выражения (типа 8*12), только голые константы. В эрланге было можно насколько я помню.

iex(30)> <<x::size(32)>> <> y = "abcdefgh" "abcdefgh" iex(31)> x 1633837924 iex(32)> <<x::size(8*4)>> <> y = "abcdefgh" ** (CompileError) iex:32: size in bitstring expects an integer or a variable as argument, got: :erlang.*(8, 4) (elixir) src/elixir_bitstring.erl:52: :elixir_bitstring.expand_bit_info/5 (elixir) src/elixir_bitstring.erl:29: :elixir_bitstring.expand_bitstr/4 (elixir) src/elixir_bitstring.erl:10: :elixir_bitstring.expand/3 (elixir) src/elixir_bitstring.erl:20: :elixir_bitstring.expand_bitstr/4 (elixir) src/elixir_bitstring.erl:10: :elixir_bitstring.expand/3 (elixir) expanding macro: Kernel.<>/2 iex:32: (file)

Александр
20.03.2017
09:27:27
можно

только вчера матчил

секунду

Max
20.03.2017
09:27:59
там надо готовый результат подставлять

s = 8*4 потом матчить с s

Александр
20.03.2017
09:28:24
<<":\"", value::binary-size(len), "\";", rslt_rest::binary>> = new_rest

по байтам тут матчу

Max
20.03.2017
09:28:48
он не может наверное считать в этих выражениях

Александр
20.03.2017
09:28:53
ааа

да, с выражениями у меня тоже не работало

а в эранге работает?

Max
20.03.2017
09:29:22
я забыл, как в ерланге матчить сложные выражения

в еликсире проще сделано

Александр
20.03.2017
09:35:48
shadowjack
20.03.2017
09:40:55
в еликсире проще сделано
да вроде так же. Ну синтаксис более гибкий.

Max
20.03.2017
09:41:57
почему дурость?

да вроде так же. Ну синтаксис более гибкий.
он запоминается немного лучше

Dmitry
20.03.2017
09:42:32
есть 2 варика - либо ты подписываешь "магические числа", либо нет

Если да - бери переменную и всё норм

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