• calcopiritus@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    18 hours ago

    This can also be a side product for code blocks being expressions instead of statements.

    In rust for example they are, so it’s not rare to see functions like:

    fn add_one(x: i32) -> i32 {
        x+1
    }
    

    This lets you do amazing things like:

    let x = if y < 0.0 {
        0.0
    } else {
        y
    }
    

    which is the same as x = y < 0.0 ? 0.0 : y

    But is much better for more complex logic. So you can forget about chaining 3-4 ternary operations in a single line.

    • SlurpingPus@lemmy.world
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      6 hours ago

      Lisp programmers seeing these ‘amazing things’:

      But yeah, every time I’m trying to do a ternary in Lua, I miss being able to just throw in an if. Thankfully it can be amended with Fennel.