¿Qué pasa con esta sintaxis de función anónima?
Acabo de comenzar mi viaje de Elixir. Leyendo esto en un libro:
"El operador & convierte la expresión que sigue en una función".
ok, creo que tengo eso ...
iex(70)> f = &(&1 * &2)
#Function<12.80484245 in :erl_eval.expr/5>
iex(72)> f.(2,3)
6
ok, ampersand es una abreviatura de función anónima y sus argumentos. Pero entonces, ¿por qué esta próxima llamada no funciona?
iex(73)> &(&1 * &2).()
#Function<12.80484245 in :erl_eval.expr/5>
... y puedo seguir haciendo esto aparentemente para siempre:
iex(76)> &(&1 * &2).().().()
#Function<12.80484245 in :erl_eval.expr/5>
¿que esta pasando aqui?