Current section
Files
Jump to
Current section
Files
lib/core/spaces/discrete_agent.ex
defmodule Gyx.Core.Spaces.DiscreteAgent do
use Agent
defstruct n: 42, seed: nil
@type t :: %__MODULE__{
n: integer(),
seed: {integer(), integer(), integer()}
}
def start_link(n) do
Agent.start_link(fn -> %__MODULE__{n: n, seed: {1, 2, 3}} end, name: __MODULE__)
end
def n() do
Agent.get(__MODULE__, &Map.get(&1, :n))
end
def seed(seed) do
Agent.update(__MODULE__, &Map.put(&1, :seed, seed))
end
end