3 ms·
It was still possible to do this in prior versions of Elixir, just syntactically noisy. Any layer which isn't a vanilla map needs Access.key, as in: get_in
by mtndew4brkfst 2y ago
It was still possible to do this in prior versions of Elixir, just syntactically noisy. Any layer which isn't a vanilla map needs Access.key, as in:
get_in(struct, [Access.key(:foo), :bar])
- skrebbel 2y agoBut that’s way less clear than just if struct.foo do struct.foo.bar else nil end
- mtndew4brkfst 2y agoSure, this snippet is a trivial example and doesn't sufficiently motivate get_in and family, which can be much more powerful when needs aren't so simple. It's also very hard to be as concise with more vanilla syntax when competing with put_in/update_in instead. The pattern and ability to generalize it is valuable IME.