Popular Rust Iterator Methods 🦀

Поділитися
Вставка
  • Опубліковано 29 сер 2023
  • Rust iterators are incredibly powerful, allowing you to manipulate collections of various data structures. Because the Iterator Trait defines this functionality, these useful methods can be found on any custom types that implement it. While we don't have enough time to cover all of these methods, we will explore some of the more common methods, and spend some hands-on time with them.
    For example, we can take a second iterable collection, and .chain() it to the first one. We can also .zip() collections together into tuple types. You can perform filters, data transformations, and much more, using the Rust iterator methods. I strongly encourage you to spend some time using these methods, to ensure that you understand how they work, when you actually need them.
    🤯 Rust Programming Playlist 🦀 • Rust Programming Tutor...
    📖 Rust Iterator docs ➡️ doc.rust-lang.org/std/iter/tr...
    Visual Studio Code ➡️ code.visualstudio.com
    Rust Website ➡️ rust-lang.org
    Rustup Installer ➡️ rustup.rs
    Rust Docs ➡️ doc.rust-lang.org/book
    Please follow me on these other social channels!
    ➡️ trevorsullivan.net
    ➡️ github.com/pcgeek86
    ➡️ / pcgeek86
    ➡️ / trevorsullivan
    ➡️ / trevorsoftware
    ➡️ tiktok.com/pcgeek86
    All trademarks, logos and brand names are the property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names,trademarks and brands does not imply endorsement.
    #rustlang #rust #rustdev #opensource #software #linux #devops #programming #rusty #dev #coding #codinglife #code #coder #ubuntu #ubuntulinux #appdev #developer
  • Наука та технологія

КОМЕНТАРІ • 20

  • @TrevorSullivan
    @TrevorSullivan  10 місяців тому +2

    Check out the full Rust playlist for more Rust programming videos! 🦀 ➡➡➡➡ ua-cam.com/play/PLDbRgZ0OOEpUkWDGqp91ODn0dk7LPBAUL.html

  • @irlshrek
    @irlshrek 4 місяці тому +12

    You can simplify transforming a Vec into a Vec by using vec_of_str.map(String::from) instead of using a full closure. This works because .map requires that the function you use takes the same type and number of arguments as the items in the vector. In this case, String::from fits perfectly as it takes a single &str argument and is not a method of &str, but rather a function that operates on &str to produce a String.

    • @FourLowAdventures
      @FourLowAdventures 11 днів тому +1

      I'm currently doing Rustlings and spent all morning trying to convert a Vec into a Vec. Then I randomly see this comment. Thanks!

    • @irlshrek
      @irlshrek 11 днів тому

      @@FourLowAdventures woo! You got this

  • @thedarkknight-3894
    @thedarkknight-3894 5 місяців тому +4

    This is the exact type of content i was looking for learning rust. Many educators just copy the content from the rust book and severely lack originality and explanation.

    • @TrevorSullivan
      @TrevorSullivan  5 місяців тому +2

      Thank you so much!! That makes me so happy to hear. I intentionally avoid using examples straight out of the documentation, to add variety to the topic! ❤️

  • @trevorbeingtrevor
    @trevorbeingtrevor 5 місяців тому +4

    Chapter 13.2 in the rust book seems to assume the reader has more experience with iterators than I did when reading it. This video helps fill in some of those gaps, thanks!

  • @stevedsouza4307
    @stevedsouza4307 2 місяці тому +2

    Thank you for these videos. They are really helpful. The quality of content is far better than the paid subscription I use.
    If I can suggest, it would be nice to see a detailed video on smart pointers, their necessity, usage etc. Thanks.

  • @ImranKhan-br5dv
    @ImranKhan-br5dv 2 місяці тому

    never learnt this much from any other video

  • @aintnochange
    @aintnochange 6 місяців тому +1

    Thank you, iterators seem much more powerful than I thought!

  • @meowsqueak
    @meowsqueak 10 місяців тому +3

    Thanks for this.
    I think it’s useful for beginners to know that you can use the variable name in format strings - e.g. println!(“{index} {value:?}”);
    This can save quite a lot of typing when starting out. Unfortunately it’s not quite as powerful as Python’s f-strings, as you can’t put any expression in the {} like {value.0}. I feel like this is an unfortunate omission since Rust is so expression-based. Oh well :)
    I think sum(), product() and count() are more useful and intuitive to beginners than fold(), but it’s good to mention it for more complex items like those quantity tuples. I’m just slightly surprised you went there so quickly :)

    • @TrevorSullivan
      @TrevorSullivan  10 місяців тому +1

      Thanks for the tip on var names in format strings! Much appreciated. I do actually like how Python and JavaScript template strings work, so you can embed method calls or other expressions in them.

  • @ChidleyITCompute-ye7hc
    @ChidleyITCompute-ye7hc 3 місяці тому +2

    Very helpful video, like the others in this series.
    isn't &str a borrowed string slice and not a static string? A static string has a lifetime equal to the whole program, whereas the lifetime of &str may not be.

    • @TrevorSullivan
      @TrevorSullivan  3 місяці тому +1

      Good question. I was under the impression that it has an inferred 'static lifetime, but maybe there's other ways to use it.

  • @RichardWalterLanda
    @RichardWalterLanda 6 місяців тому +3

    pls, add time codes.

  • @aintnochange
    @aintnochange 6 місяців тому

    I think I understand what's wrong with borrowing on 53:27. According to rust docks, peek() gets &mut self and, as I understand, this mutable borrow still exists when you envoke println!(), so it's not allowed to borrow it again until mutable borrow is not in use anymore (i guess it's gonna be allowed after println!)

  • @cybertache
    @cybertache 2 місяці тому

    my rust programs are over 2Gb can you make a video on how to minimize the size of binaries ??

    • @TrevorSullivan
      @TrevorSullivan  2 місяці тому

      Wow! Those are massive binaries! I would recommend using "cargo build --release"

    • @cybertache
      @cybertache 2 місяці тому

      @@TrevorSullivan I want to make binaries with 3 - 5KB for offensive security.