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

  • notarobot@lemm.ee
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    8 hours ago

    What about

    Let ret: Number
    If (someCondition) {
        <a lot of expensive calculations>
        ret = resultOfOperations
    } else {
        <a lot of other different expensive operations>
        ret = resultOfOtherOperations
    }
    return ret
    

    You can’t declare ret inside the brackets

    • 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.