• dev_null@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        3 days ago

        Because it’s not one. Ternary operator is A ? B : C, Elvis operator is A ?: B. The same two characters are involved, but both the syntax and effect is different.

          • dev_null@lemmy.ml
            link
            fedilink
            arrow-up
            2
            ·
            3 days ago

            It’s a shorthand for writing this:

            variable = if (input != null) input else default
            

            This is equivalent:

            variable = input ?: default
            
      • dev_null@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        3 days ago

        It’s a shorthand for writing this:

        variable = if (input != null) input else default
        

        This is equivalent:

        variable = input ?: default
        

        The answers confusing it with the ternary operator are wrong.

        • The Cuuuuube@beehaw.org
          link
          fedilink
          English
          arrow-up
          0
          ·
          5 days ago

          gotacha. i’ve only ever heard them called ternaries. maybe i’m old. maybe i’m too young. definitely one of the two

          • QuazarOmega@lemy.lol
            link
            fedilink
            arrow-up
            1
            ·
            5 days ago

            It specifically refers to this shorthand ?: that works like this:

            $value = $thing_that_could_be_truthy ?: 'fallback value';
            
            # same as
            
            $value = $thing_that_could_be_truthy ? $thing_that_could_be_truthy : 'fallback value';
            

            The condition is also the value if it is truthy