Elixir地图挖掘功能,如Ruby Hash #Dig

elp*_*dev 7 elixir

是否有一个Elixir相当于Hash #Dig in Ruby?

Ruby挖掘例子

h = { foo: {bar: {baz: 1}}}

h.dig(:foo, :bar, :baz)           #=> 1
h.dig(:foo, :zot)                 #=> nil
Run Code Online (Sandbox Code Playgroud)

Dog*_*ert 15

用途Kernel.get_in/2:

iex(1)> m = %{foo: %{bar: %{baz: 1}}}
%{foo: %{bar: %{baz: 1}}}
iex(2)> get_in m, [:foo, :bar, :baz]
1
iex(3)> get_in m, [:foo, :zot]
nil
Run Code Online (Sandbox Code Playgroud)