87
you are viewing a single comment's thread
view the rest of the comments
[-] Zexks@lemmy.world 17 points 1 month ago

This doesn’t get rid of the if statements. It hides them.

[-] wewbull@feddit.uk 16 points 1 month ago

It doesn't hide. It makes them happen first and, here's the important bit, closes their scope quickly.

[-] Zexks@lemmy.world 4 points 1 month ago

The scope is irrelevant it’s a single function class as presented. It was a single method that they broke out “to hide the ifs”. Then they just used compiler specialties to remove the word ‘if’ from the assignments. The comparisons are still there and depending on the execution path those constants may not be so constant during runtime.

[-] BrianTheeBiscuiteer@lemmy.world 3 points 1 month ago

It has conditionals not but actual if statements. Not really different in functionality but a more consistent style.

[-] Zexks@lemmy.world 1 points 1 month ago

They’re still ifs. They’ve just been lambda’d and assigned to constants.

[-] BrianTheeBiscuiteer@lemmy.world 3 points 1 month ago

branching ≠ if ≠ conditional

They're all related but can't just be used interchangeably. "if" is a reserved keyword to indicate a specific syntax is expected. It's not the semantics the author was trying to change, it's the syntax, and the overall point is that you aren't always required to use the specific "if" syntax to write code just like you're not required to use "while" to achieve looping.

[-] Zexks@lemmy.world 0 points 1 month ago

If you decompile that code you won’t get lambdas. You get ifs. Because that is how the hardware is build. Ifs/ands/Ors that is what computing is built on. Everything else is flavor.

[-] platypus_plumba@lemmy.world 1 points 1 month ago

The title of the post is "how to avoid if-else hell", not "how to avoid conditionals". Not sure what's your point.

this post was submitted on 24 Sep 2024
87 points (92.2% liked)

Programming

17314 readers
301 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS