Clojureでは、マップ(dict)を更新して、キーパスassoc-in
が存在しない場合は自動的に作成できます。
(assoc-in {:a 1 :b 3} [:c :d] 33)
{:a 1, :c {:d 33}, :b 3}
同じ場合:キーのパス(またはリストインデックス)を指定でき、パスが存在しない場合はget-in
、パスで指定された値を返します。nil
(get-in {:a 1, :c {:d 33}, :b 3} [:c :d])
33
(get-in {:a 1, :c {:d 33}, :b 3} [:c :e])
nil
箱から出してPythonと同等または同等のショートカットはありますか?(はい、私は危険なdictラッパーを自分で書くことができることを知っていますが、それを避けたいと思います)。