• PeriodicallyPedantic@lemmy.ca
      link
      fedilink
      arrow-up
      6
      ·
      1 day ago

      Hey, when you gotta pick a value from a bunch of options, it’s either if/elseif/else, ternary, switch/case, or a map/dict.

      Ternary generally has the easiest to read format of the options, unless you put it all on one line like a crazy person.

      • guber@lemmy.blahaj.zoneOP
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        me personally, i prefer switch case statements for many-value selection, but if ternary works for you, go ham (as long as you don’t happen to be the guy who’s code I keep having to scrub lol)

        • PeriodicallyPedantic@lemmy.ca
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          3 hours ago

          Switch is good if you only need to compare equals when selecting a value.
          Although some languages make it way more powerful, like python match.
          but I generally dislike python despite of this, and I generally dislike switch because the syntax and formatting is just too unlike the rest of the languages.

          Generally I prefer the clear brevity of:

          var foo=
              x>100 ? bar :
              x>50 ? baz :
              x>10 ? qux :
              quux;
          

          Over

          var foo;
          if(x>100) {
              foo=bar;
          } else if(x>50) {
              foo=baz;
          } else if(x>10) {
              foo=qux;
          } else {
              foo=quux;
          }
          

          Which doesn’t really get any better if you remove the optional (but recommended) braces.
          Heck, I even prefer ternary over some variations of switch for equals conditionals, like the one in Java:

          var foo;
          switch(x) {
          case 100:
              foo=bar;
              break;
          case 50:
              foo=baz;
              break;
          case 10:
              foo=qux;
              break;
          default:
              foo=quux;
          }
          

          But some languages do switch better than others (like python as previously mentioned), so there are certainly cases where that’d probably be preferable even to me.

        • thebestaquaman@lemmy.world
          link
          fedilink
          arrow-up
          3
          ·
          1 day ago

          If there’s more than two branches in the decision tree I’ll default to a if/else or switch/case except if I want to initialise a const to a conditional value, which is one of the places I praise the lord for ternaries.