• DreadPirateShawn@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    90
    arrow-down
    3
    ·
    2 days ago

    The ternary syntax is really my only real gripe with python design – putting the conditional BETWEEN the true and false values feels so very messy to me.

    • porous_grey_matter@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      22 hours ago

      I think it’s just what you’re used to. Imo it really matters that it’s keywords and not operator symbols - it’s meant to read closer to natural language. I prefer the c version when it’s ? and :, but I like them this way round when it’s if and else.

      • l3mming@lemmy.world
        link
        fedilink
        arrow-up
        3
        arrow-down
        1
        ·
        edit-2
        1 day ago

        You clearly haven’t used Perl a lot. Perl’s ternary looks like:

        $even = $num % 2 ? “nay” : “yay”;

        Incidentally, it is also the same as PHP’s, but mainly because PHP stole it.

        • psud@aussie.zone
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day ago

          You do get the if in the middle of stuff though in the form print(debug message) if $debug

          • palordrolap@fedia.io
            link
            fedilink
            arrow-up
            4
            ·
            1 day ago

            Wait until you learn that postfix conditionals are syntactic sugar and the compiler* turns that line into the equivalent of $debug and print(debug message), putting the conditional in first place, a lot like the ternary operator.

            * Perl compiles to bytecode before running.

            The ternary operator itself isn’t implemented in terms of and (and or) but it could be.

            • psud@aussie.zone
              link
              fedilink
              English
              arrow-up
              4
              ·
              1 day ago

              Luckily I don’t need to read or write bytecode and all that matters to me is the syntax