• thebestaquaman@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    19 hours ago

    I honestly can’t see how this is more readable than

    x = (y > 5) ? "foo" : "bar"

    I get that it’s a syntax that needs to be learned, but it’s just so clean and concise!

    • calcopiritus@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      12 hours ago

      Because it can be done for multiple lines too. And you can do else-if too. Also, “if” and “else” is more recognizable than “?” and “:”

      x = if y > 5 {
          println!("Y was over 5");
          z + 5
      } else if y < 0 {
          handle_negative_y(y);
          z - y
      } else {
          println!("<WARN> unexpected value for y"}
          0
      }
      
    • four@lemmy.zip
      link
      fedilink
      English
      arrow-up
      1
      ·
      16 hours ago

      What I like about using if and else for that is that you’re already using those keywords for branching in other parts of the code.

      Though my least favorite is probably Python’s:

      x = "foo" if y > 5 else "bar"
      

      It just seems backwards to me

      • thebestaquaman@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        14 hours ago

        While Python’s version does feel a bit backwards, it’s at least consistent with how list comprehensions are set up. They can also feel a bit “backwards” imo, especially when they include conditionals.

        • four@lemmy.zip
          link
          fedilink
          English
          arrow-up
          1
          ·
          13 hours ago

          List comprehension is another thing I don’t like about Python :)

          There’s more of those, but one thing I do like about Python is that I get paid for writing it, so I try not to complain too much