Elixir Language
엘릭서의 상태 처리
수색…
에이전트를 통한 상태 관리
하나의 상태를 랩핑하고 액세스하는 가장 간단한 방법은 Agent
입니다. 모듈을 사용하면 임의의 데이터 구조를 유지하는 프로세스를 생성하고 메시지를 보내서 해당 구조를 읽고 업데이트 할 수 있습니다. 이 덕분에 구조는 한 번에 하나의 메시지 만 처리하기 때문에 자동으로 직렬화됩니다.
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