Live data from Hacker News

Why switch is better than if-else

mortoray.com

1–5 of 5 posts

Re: Why switch is better than if-else

#3
post #2

And languages with multiple function definitions for different arguments are even better def(arg = value_0) { ... } def(arg = value_1) { ... } def(arg = value_2) { ... } def(arg) { ... } Example: Elixir.

I agree. General purpose pattern matching in both expressions and function dispatch is a great feature.

Re: Why switch is better than if-else

#4
Author says, regarding if-else, “We aren’t certain here whether we mean to cover all possible values, or only these values in particular”. I don’t really get what that means.

I never feel confused when looking at an if-else statement which values I’m targeting. Do they just give a bad example in this post?

Re: Why switch is better than if-else

#5
post #4

Author says, regarding if-else, “We aren’t certain here whether we mean to cover all possible values, or only these values in particular”. I don’t really get what that means. I never feel confused when looking at an if-else statement which values I’m targeting. Do they just give a bad example in this post?

The proceeding lines make that clearer for me.

In my mind a switch statement is like "here is an execution path for every state this enumeration can hold" (like the author says, compiler or ide may warn you about missing cases) while an if else is a bit more general than that. With an if else you might only be checking for a few specific conditions.