サーチ…


エージェントを使って状態を管理する

ラップして状態にアクセスする最も簡単な方法はAgentです。このモジュールでは、任意のデータ構造を保持し、その構造を読み込んで更新するためのメッセージを送信するプロセスを生成することができます。このため、構造体へのアクセスは、プロセスが一度に1つのメッセージしか処理しないため、自動的にシリアル化されます。

iex(1)> {:ok, pid} = Agent.start_link(fn -> :initial_value end)
{:ok, #PID<0.62.0>}
iex(2)> Agent.get(pid, &(&1))
:initial_value
iex(3)> Agent.update(pid, fn(value) -> {value, :more_data} end)
:ok
iex(4)> Agent.get(pid, &(&1))
{:initial_value, :more_data}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow