elixirkoans / elixir-koans

Elixir learning exercises
MIT License
2.22k stars 599 forks source link

Should the koans prefer `in/2` over `member?/2`? #269

Open cmcaine opened 2 years ago

cmcaine commented 2 years ago

These koans use Enum.member? and MapSet.member?. I only know a little Elixir, but as far as I can tell these offer no benefit over in/2 (they're the same speed and give the same results).

Similarly, MapSet.equal?/2 is used instead of ==/2, but it doesn't need to be.

Would you accept a PR that changed lines like

assert MapSet.member?(@set, 1) == ___

into

assert (1 in @set) == ___

?

Thanks for writing/maintaining these koans!

iamvery commented 2 years ago

According to the docs the in/2 "operator" is simply a macro that translates to Enum.member?/2. I would say that the koans should teach this if possible, so rather than simply replacing them, we should introduce both 🙂