• wewbull@feddit.uk
      link
      fedilink
      English
      arrow-up
      15
      ·
      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
        link
        fedilink
        arrow-up
        2
        ·
        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
          link
          fedilink
          arrow-up
          0
          ·
          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.