что случилось с этим синтаксисом анонимной функции?
Просто начинаю свое путешествие по эликсиру. Читая это в книге:
«Оператор & преобразует следующее выражение в функцию».
хорошо, я думаю, что получил это ...
iex(70)> f = &(&1 * &2)
#Function<12.80484245 in :erl_eval.expr/5>
iex(72)> f.(2,3)
6
хорошо, амперсанд является сокращением для анонимной функции и ее аргументов. Но тогда, почему этот следующий звонок не работает ?!
iex(73)> &(&1 * &2).()
#Function<12.80484245 in :erl_eval.expr/5>
... и я могу продолжать делать это, казалось бы, вечно
iex(76)> &(&1 * &2).().().()
#Function<12.80484245 in :erl_eval.expr/5>
что происходит здесь?