如何简化向Elixir Map中插入多组键值对的代码?
Elixir中批量插入Map键值对的简化方法
当然可以简化,以下是两种更简洁且易读的写法:
方法一:使用Map.merge/2合并Map
把需要新增的键值对封装成一个新Map,直接和原Map合并,代码更紧凑:
batch_params_new = Map.merge(batch_params, %{ "csv_file_name" => file_name, "internal_csv_path" => file_path })
方法二:用管道运算符链式调用Map.put/3
这种写法步骤清晰,每一步明确展示要添加的键值对,可读性更强:
batch_params_new = batch_params |> Map.put("csv_file_name", file_name) |> Map.put("internal_csv_path", file_path)
两种方法都能实现原代码的功能,且比嵌套Map.put的写法更易维护。
内容的提问来源于stack exchange,提问作者Chen Yu
相关产品推荐
相关产品推荐

