Size: a a a

2019 March 07

ML

Maksim Lapshin in pro.elixir
Alexander Bogosyan
а если этот call предполагает {ok, Result} | {error, Reason}, почему не вернуть {error, noproc} и ответить 503 клиенту например?
Потому что это просачивание между слоями абстрации.

Сам сервер может что-то вернуть, а может сдохнуть при исполнении. Это надо отличать
источник

IS

Ilya Shuma in pro.elixir
A1exey Lopatin
Не прпробовал, все равно
list_count.ex:7: undefined function work/1
Надо обернуть строки 3-9 в функцию
источник

A

A1exey Lopatin in pro.elixir
А вот почему надо обернуть? А если мне надо, чтоб не оборачивать? Чтобы при вызове модуля сразу запускалось выполнение? Получается так, что только когда скомпилируется весь модуль его функции станут доступны?
источник

IS

Ilya Shuma in pro.elixir
Модуль нельзя вызвать без указания функции, емнип
источник

m

madeinussr in pro.elixir
А что такое "вызов модуля"?
источник

IS

Ilya Shuma in pro.elixir
Можно вызвать только функцию в модуле
источник

A

A1exey Lopatin in pro.elixir
Ilya Shuma
Можно вызвать только функцию в модуле
Попробуйте просто код какой-нибудь написать в модуле без объявления функции - все работает.
источник

m

madeinussr in pro.elixir
defmodule просто макрос (функция по сути) и что-то возвращает
источник

A

A1exey Lopatin in pro.elixir
Но если из этого кода вызвать объявленную в этом же модуле функцию - ошибка.
источник

m

madeinussr in pro.elixir
у них скоуп разный, у этих двух макросов defmodule и def
источник

МБ

Максим Барулин in pro.elixir
Maksim Lapshin
Тогда это задача бота понять, что с той стороны дохлый сервер, завернуть работу с ним в try/catch
именно, только вот место глобального оборачивания не видно, так как валится всё, не каждую же функцию оборачивать
источник

m

madeinussr in pro.elixir
а задача-то какая?
источник

A

A1exey Lopatin in pro.elixir
Получается, мне надо еще один модуль объявить и его вызывать?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
A1exey Lopatin
Но если из этого кода вызвать объявленную в этом же модуле функцию - ошибка.
Потому что эти функции выполняются на этапе компиляции же
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Нафига вообще иметь код в теле модуля?
источник

A

A1exey Lopatin in pro.elixir
Źmićer Rubinštejn
Нафига вообще иметь код в теле модуля?
на хаккерранке требование, чтоб из stdin сразу читалось, они модуль запускают.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Как можно модуль запустить?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Где ссылка на то, что там вообще можно на Эликсире писать? я чет не могу найти. Кинь, всем интересно посмотреть
источник

ŹR

Źmićer Rubinštejn in pro.elixir
-module(solution).
-export([main/0]).

solveMeFirst(A, B) ->
   A + B.

main() ->
   {ok, [A, B]} = io:fread("", "~d~d"),
   Res = solveMeFirst(A,B),
   io:format("~p~n",[Res]).
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Вот код эрланга например
источник