2017-02-19 6 views
1

Новое в Elixir, я пытаюсь написать простую игру, в которой будет функция readFrom/1, которая считывает входные данные и воспроизводит игру соответственно, а затем функцию print/1, которая будет печатать эту игру.Elixir - Как я могу вернуть значение, которое может быть получено другой функцией через консоль iex?

Поскольку они будут вызваны через iex один за другим, как я могу заставить функцию print/1 распечатать результат из readFrom/1? На любом другом языке я бы просто сохранил значения, которые мне нужны в переменных, и просто получаю их после функции print/1.

Я должен сделать это в соответствии с требованиями, и я не могу найти ничего, что поможет мне понять это.

Спасибо!

ответ

2

Вы можете использовать трубу:

iex> args |> readFrom() |> print() 
+0

futher 'IEX> арг |> readFrom |> print' – apelsinka223

+0

Интересно, спасибо. Вперед, как я могу включить это в свой фактический модуль? Мне нужно, чтобы программа выполнялась только с readFrom («- input-»), а затем с вызовом print() из iex, но труба должна находиться внутри модуля. Я попытался добавить 'game_object |> print()' (внутри readFrom/1), но я не уверен, как я могу принять другой конец внутри функции print(), поскольку он не принимает аргументов. – Deiv

0

Вы можете запустить скрипт из Iex, просто добавив имя скрипта в командной IEX линии, например, так:

$iex myscript.exs