Given that the functionality is very similar to Enum.all?/2, I would suggest one of the following:
1) Solve this outside of the core elixir library with something like case myList do [] -> false myList -> Enum.all?(myList, &(&1 == :some)) end or 2) add a default parameter to Enum.all? to specify the default value when the list is empty. E.g. defmodule Enum do def all?(list, fun \\ fn x -> x end, default \\ true) do ... end end Regards, Anil > On Jan 20, 2021, at 10:39 PM, Randson <[email protected]> wrote: > > Hi all, recently I opened I pull request on Elixir repo. Which is: > > https://github.com/elixir-lang/elixir/pull/10664 > > Adding the Enum.every? function on the Enum module. > > I had case where, given a list of atoms, all of the needs to return true: > > Enum.every?([:some, :some, :some], fn x -> x == :some end) > ...> true > > Enum.every?([]) > ...> false > > I tried with functions like Enum.all?/2 and Enum.any?/2. But the cases are > follow: > > Enum.all?/2 - Returns true in case of an empty list; > Enum.any?/2 - Returns false, which is correct but if there is a different > value on the list. Probably this will return true. > > So I took the name every because I'm used to use like this on JS. But as > Valim mentioned on the PR, it could be all_non_empty? or something else. > > What do you guys think? > > -- > 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/977fcb5e-3d81-4017-b993-7d27a695937an%40googlegroups.com. -- 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/0100017723c276f8-1ffbcab6-f6c9-46ba-b152-c137964a71d5-000000%40email.amazonses.com.
