Hi,
Would it make sense introducing a trailing bang version mirroring the
existing Map.take/2? It would behave the same but fail with a KeyError on a
missing key instead of simply ignoring it.
To give some context, I've lately found myself writing things like `%{foo:
data.foo, bar: data.bar, ...}` quite frequently, a typical use case being
to dump only some fields from a map or struct into a JSON payload or
Elasticsearch. While it's tempting to refactor those using `Map.take/2`, it
feels best to fail frankly than omitting fields accidentally in order to
avoid potential bugs.
I suppose we would also introduce Keyword.take!/2 for consistency if we
move forward.
What do you think?
Cheers,
Sabiwara
--
You received this message because you are subscribed to the Google Groups
"elixir-lang-core" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elixir-lang-core/CANnyohYswjnXFqA79%2BP7cEfd5%2Bg%2BZsJeBHWf5M3kSi4TBrw0NQ%40mail.gmail.com.