你如何在Elixir中按名称检索方法参数/参数



如何在Elixir中从方法参数图中获取单个参数?

def do_something(%{"my_params" => params}) do
  IO.puts  "this is your param = #{my_params[param_name]}"
  IO.puts  "this is your param = #{my_params[:param_name]}"
  IO.puts  "this is your param = #{my_params.param_name}"
end

如果数量很少,最好将它们模式匹配到位:

def do_something(%{"my_params" => %{"param_name" => value}) do
  IO.inspect value, label: "this is your param"
end

花了我一点点才找到,这很简单。 映射语法。

def do_something(%{"my_params" => params}) do
  IO.puts "this is your param = #{my_params["param_name"]}"
end

取决于你需要什么。

如果不希望在键不存在时出错,请使用 my_params[:param_name](在这种情况下将返回 nil(,否则my_params.param_name .

如果需要在密钥不存在时使用默认值,请使用 Map.get(map, key, default \ nil)

最新更新