Возвращаете значения в Эликсире?

Недавно я решил изучить Эликсир. Исходя из опыта работы с C ++ / Java / JavaScript, у меня были большие проблемы с пониманием основ. Это может показаться глупым, но как операторы return работают в Elixir? Я огляделся, и мне кажется, что это последняя строчка функции, т.е.

def Hello do «Hello World!» end

Будет ли эта функция возвращать «Hello World!», Есть ли другой способ сделать возврат? Кроме того, как бы вы вернулись пораньше? в JavaScript мы могли бы написать что-то вроде этого, чтобы узнать, есть ли в массиве определенное значение:

function foo(a){ for(var i = 0;i<a.length;i++){ if(a[i] == «22»){ return true; } } return false; }

Как это будет работать в Эликсире?

Вот еще один пример того, как вернуться раньше: elixir-examples.github.io/examples/ возврат рано   —  person Joe Thomas    schedule 26.05.2016

@Brandon, спасибо, чувак, так что в этом примере, если some_condition ложно, он выведет значение, которое выводит do_something ()?   —  person Joe Thomas    schedule 26.05.2016

Это совсем не глупый вопрос. При использовании императивных языков очень сложно привыкнуть к представлению о каждой функции, возвращающей последнее вычисленное значение. Придерживайтесь этого — как только вы привыкнете к идее, что каждая функция возвращает значение, вы обнаружите, что ваши функции станут намного более связными.   —  person Joe Thomas    schedule 26.05.2016

@wateriswet, это правильно, он вернет значение do_something ()   —  person Joe Thomas    schedule 27.05.2016

Возможный дубликат оператора возврата в Elixir   —  person Joe Thomas    schedule 05.02.2017

Для тех, кто действительно этого хочет, есть пакет возврата.   —  person Joe Thomas    schedule 05.02.2017

Источник: ledsshop.ru

Стиль жизни - Здоровье!