次の文脈で '&'演算子を理解できない場合があります。'&'演算子はどのように動作しますか?
@doc "Marks a task as executed"
def put_task(task, project) do
item = {task, project}
Agent.update(__MODULE__, &MapSet.put(&1, item))
end
それは、この場合には「& 1」は、マップオブジェクトそのものを参照しているが、私はこれがどのように機能するかについての好奇心だと思われます。議論としてそれを渡しているのですが、私は文書でこれを調べましたが、これがまさに何が起こっていたのかを知ることはできませんでした。もし誰かが私が正確に何が起こっているのか、そして& 1が何を指しているのかを理解するのを助けることができたら、私は感謝しています。
これは 'fn x - > MapSet.put(x、item)end'に相当します。私はStackOverflowにこれに関する既存の質問があると確信していますが、私はそれを見つけることができません。 – Dogbert
私の質問はこの場合のxです。 – cogle