Skip to content

Instantly share code, notes, and snippets.

@benjamintanweihao
Created October 4, 2014 08:26
Show Gist options
  • Select an option

  • Save benjamintanweihao/e6e9eeaf6b1c9ec41aff to your computer and use it in GitHub Desktop.

Select an option

Save benjamintanweihao/e6e9eeaf6b1c9ec41aff to your computer and use it in GitHub Desktop.
agent_example.ex
defmodule MyState do
def start_link do
Agent.start_link(fn -> :ets.new(named: MyState.ETS) end, local: MyState.Agent)
end
def nb_read(key) do
:ets.lookup_element(MyState.ETS, key)
end
def read(key) do
Agent.get MyState.Agent, fn ets ->
:ets.lookup_element(ets, key)
end
end
def insert(key, value) do
Agent.update MyState.Agent, fn ets ->
:ets.insert(ets, [{key, value}])
ets
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment