Made with KolourPaint and screenshots from Kate (with the GitHub theme).

  • ferric_carcinization@lemmy.ml
    link
    fedilink
    English
    arrow-up
    2
    ·
    8 hours ago

    Rust would allow you to

    let ret = if some_condition {
        <a lot of expensive calculations>
        result_of_operations
    } else {
        <a lot of other different expensive calculations>
        result_of_other_operations
    };
    

    Now you don’t have to declare it inside the blocks.

      • ferric_carcinization@lemmy.ml
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 hours ago

        What’s disgusting about it? The only thing I can think of is the implicit return, which felt a bit icky at first.

        Also, as the if expression is an expression, you can call methods on it like so:

        if 1 > 2 {
            3
        } else {
            4
        }.min(5)
        

        (the above is still an expression, so it could be used, for example, as part of a condition for another if)

        Of course, you can write horrible code in any language, but the ability to use blocks where expressions are expected can be great sometimes.