how do struct matches work elixir code example
Example 1: elixir struct
defmodule UserModule do
# UserModule struct definition
# Put this inside a module definition
defstruct [:first_name, :last_name, :age]
# functions to access the struct data,
# horever if the struct and functions life in the same module,
# you can replace the module name with __MODULE__ attributte.
# Ej %UserModule{} is the same that %__MODULE__{}
def first_name(%__MODULE__{first_name: name}),
do: name
def last_name(%__MODULE__{last_name: name}),
do: name
def age(%__MODULE__{age: age}),
do: age
end
# For usage this, you can do (in iex for example):
> user = %UserModule{first_name: "martin", last_name: "alganaraz", age: 40}
> UserModule.first_name user
"martin"
Example 2: elixir struct example
# struct example
%__MODULE__{
name: "apple",
location: {40,0,1},
}