Size: a a a

2019 March 07

ŹR

Źmićer Rubinštejn in pro.elixir
там опеределена функцйия main
источник

ŹR

Źmićer Rubinštejn in pro.elixir
С чекго ты решил, что в эликсире не так?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Scala, Haskell, F# - то же самое
источник

A

A1exey Lopatin in pro.elixir
Хм, это меняет дело, конечно, если так. Сейчас попробую. Про эликсир отдельно не написано, какую функцию они будут запускать в модуле.
источник

ŹR

Źmićer Rubinštejn in pro.elixir
A1exey Lopatin
Хм, это меняет дело, конечно, если так. Сейчас попробую. Про эликсир отдельно не написано, какую функцию они будут запускать в модуле.
Никакую функцию они не запускают, делай так
источник

ŹR

Źmićer Rubinštejn in pro.elixir
defmodule Solution do
   def main do
       IO.puts(5)
   end
end

Solution.main
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Но вообще говоря - это их косячило
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Потому что было бы логично, если бы они делали escript
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А у escript функция main дефолтная
источник

ML

Maksim Lapshin in pro.elixir
Максим Барулин
именно, только вот место глобального оборачивания не видно, так как валится всё, не каждую же функцию оборачивать
нет никакого места глобального оборачивания.

Либо пропускай все запросы к генсерверу через одну функцию, либо руками прописывай каждый раз что тебе нужно.
источник

МБ

Максим Барулин in pro.elixir
печаль
источник

A

A1exey Lopatin in pro.elixir
Еще один обучающий вопрос по Enum.reduce. Внутрь функции, которая выполняется для каждого элемента коллекции нельзя, что-ли, передать внешний параметр? Только элемент коллекции и аккумулятор?
# приходит лист [2,1,3,4,5]
 def work([mult|rest]) do
     Enum.reduce(rest, [], fn a, b, mult -> IO.inspect(a, b, mult) end)
 end
# error
(BadArityError) #Function<0.127914529/3 in Solution.work/1> with arity 3 called with 2 arguments (1, [])
источник

ML

Maksim Lapshin in pro.elixir
нельзя, тебе надо передать строго функцию с двумя аргументами.

А вот mult тебе доступен и так, без явной передачи внутрь
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Напиши reduce сам
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Сразу поймёшь как он работает
источник

A

A1exey Lopatin in pro.elixir
Спасибо! А если я хочу внешнюю функцию вызвать, а не через fn end, мне только через заявление @mult  можно получить эту переменную в новой функции?
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Нет конечно
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Функция принимает набор аргументов и возвращает значение
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И в эликсире нету переменных
источник

ŹR

Źmićer Rubinštejn in pro.elixir
И fn end это замыкание - функция, которая генерируется во время исполнения. Поэтому в ней есть mult как константа
источник