How to get opt as keywordlist
defmodule Bar do
# for size
def foo(params, [{:size, size}| rest]) do
IO.inspect("size is #{size}")
foo(params, rest)
end
# for name
def foo(params, [{:name, name}| rest]) do
IO.inspect("name is #{name}")
foo(params, rest)
end
# ignore not to except options
def foo(params, [_| rest]) do
foo(params, rest)
end
# after getting all option
def foo(params, []) do
IO.inspect("params is #{params}")
end
end
## call
params = 1
opts = [name: "foobar", size: 2, dust: 123]
Bar.foo(params, opts)
Reference