• @FizzyOrange
    link
    233 months ago

    Neat FP style. Pretty verbose though. Someone should invent a terser syntax so you don’t need to write do_two_things everywhere. It’s a common operation so maybe it could even be a single character.

    • @TadoTheRustaceanOP
      link
      73 months ago

      If you know about rust you know it’s a programmable programming language, meaning that you can make macros. There could be a macro that would do that but 1. Macros is rust code to write rust code so they have the complexity of rust squared 2. I said to myself the only macros I will allow myself to use in this challenge is println and allow

      • @[email protected]
        link
        fedilink
        73 months ago

        Do not expect to find anything like Javascript craziness on other languages. Or you’ll be severely disappointed.

          • xigoi
            link
            fedilink
            23 months ago

            Still better than

            for _, item in ipairs(items)
            
        • @FizzyOrange
          link
          43 months ago

          There are plenty of languages with warts at least as bad as JavaScript’s. Bash, PHP, C, even relatively sane languages like Python still have huge issues like implicit variable declaration.

      • @[email protected]
        link
        fedilink
        43 months ago

        Nope. In Rust, a semicolon denotes a statement while a lack of semicolon is an expression so you can’t just omit them at will. This does lead to cool things though like if/else blocks being able to produce values if they end in an expression. But the expression type is checked so you’re less likely to make a mistake. You can see an example here: https://doc.rust-lang.org/rust-by-example/flow_control/if_else.html

        In JavaScript I never skip semicolons because I’ve seen those subtle bugs.

    • @[email protected]
      link
      fedilink
      English
      33 months ago

      POV: your project manager went in an “cleaned” it all up by removing them - your (sic) welcome! 😜

  • Ethan
    link
    English
    53 months ago

    After programming in Go for nearly a decade, the idea of going back to needing semicolons brings me pain. Rust seems cool, but semicolons 🤢

    • @TadoTheRustaceanOP
      link
      83 months ago

      As you can see, rust allows you to not put semicolons at the end of code blocks. The presence of semicolons is not a language killer. It’s a very hard language, but its worth it.

      • @[email protected]
        link
        fedilink
        43 months ago

        I agree. Semicolons are a small “tradeoff” (personally not for me) for such a great language.

      • Ethan
        link
        English
        23 months ago

        The presence of semicolons is not a language killer.

        I’m not saying it is. But every time I have to work in a language that requires semicolons I’m constantly forgetting them and constantly reminded of how nice it is to not have to care in Go.

  • @tatterdemalion
    link
    33 months ago

    Would you rather have semicolons or significant newlines?

    • @TadoTheRustaceanOP
      link
      53 months ago

      Semicolons. Statement’s can be written in multiple lines such as rust io::stdin(&mut foo) .unwrap(). Idk if it would work if the newlines were significant. Also when I paste something, it could be ready hard for the formatter to format it.

  • @[email protected]
    link
    fedilink
    33 months ago

    Rust’s semicolon means something like “There’s nothing to see here! Move along! Move along!”, so yeah, you don’t actually need any.

  • @tatterdemalion
    link
    23 months ago

    Well you have a variable foo being mutated. Maybe that’s what they’re for?

  • @tatterdemalion
    link
    2
    edit-2
    3 months ago

    You can replace return foo with just foo.