¿Por qué son necesarios los operadores de pin en las consultas Ecto?
En Elixir, el operador de pin se usa para evitar el reenrollado variable. Sin embargo, con respecto a una consulta Ecto como
from u in User, where: u.username == ^username
los autores deProgramando Phoenix declarar (en el capítulo 7) que
Recuerde, el operador ^ (llamado operador de pin) significa que queremos mantener^ nombre de usuario lo mismo.
Pero esto no suena bien, porque aparentemente, la comparación en la consulta no causará ninguna nueva vinculación de variables.
¿Están equivocados los autores del libro (del cual José Valim fue coautor)? ¿El operador de pin en consultas Ecto es simplemente una construcción del Ecto DSL en lugar de un operador de pin Elixir habitual? ¿O la consulta realmente tendrá la oportunidad de volver a enlazarusername
después de que se expanden las macros?