Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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])


But that’s way less clear than just

    if struct.foo do struct.foo.bar else nil end


Sure, 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: