• four@lemmy.zip
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    3
    ·
    2 days ago
    x = if y > 5 { "foo" } else { "bar" }
    

    This is just superior to anything else

    • thebestaquaman@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      1 day 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
        ·
        1 day 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
        ·
        1 day 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
          1 day 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
            ·
            1 day 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