我有这样的结构:
map = %{"a" => "foo",
"b" => [%{"b1" => "bar",
"b2" => "baz"}]}
Run Code Online (Sandbox Code Playgroud)
我想要的是:
map.b[0].b1
Run Code Online (Sandbox Code Playgroud)
获得它的最简单方法是什么?
有没有办法使用它kernerl.get_in/2
是的,可以使用Kernel.get_in/2和组合Access.at/1:
map = %{"a" => "foo",
"b" => [%{"b1" => "bar",
"b2" => "baz"}]}
get_in(map, ["b", Access.at(0), "b1"])
# => "bar"
Run Code Online (Sandbox Code Playgroud)