Many times I need to merge a subset of a keyword list or a map into another keyword list or map while requiring it to fail if not all keys are present.
For this purpose I have small utility modules called KwUtils and MapUtils where I have functions like the one below: ``` @doc """ Takes specified key-value pairs from the keyword list but raises if any not found. """ @spec take!( keyword(), [ atom()]) :: keyword() def take!( kw, keys) do taken = Keyword.take( kw, keys) if length( taken) != length( keys) do raise "Expected all keys in #{ inspect( keys)} to be present in #{ inspect( kw)}" end taken end ``` It'd be nice if a corresponding function was part of the `Keyword` and `Map` modules each. -- 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 elixir-lang-core+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/45c41b5a-f904-44f8-b94a-4392425a0e86n%40googlegroups.com.