Popular Rust Iterator Methods 🦀

Поделиться
HTML-код
  • Опубликовано: 12 сен 2024
  • 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....
    Visual Studio Code ➡️ code.visualstu...
    Rust Website ➡️ rust-lang.org
    Rustup Installer ➡️ rustup.rs
    Rust Docs ➡️ doc.rust-lang....
    Please follow me on these other social channels!
    ➡️ trevorsullivan...
    ➡️ github.com/pcg...
    ➡️ / pcgeek86
    ➡️ / trevorsullivan
    ➡️ / trevorsoftware
    ➡️ tiktok.com/pcg...
    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

Комментарии • 21

  • @TrevorSullivan
    @TrevorSullivan  Год назад +3

    Check out the full Rust playlist for more Rust programming videos! 🦀 ➡➡➡➡ ruclips.net/p/PLDbRgZ0OOEpUkWDGqp91ODn0dk7LPBAUL

  • @irlshrek
    @irlshrek 7 месяцев назад +15

    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 2 месяца назад +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 2 месяца назад

      @@FourLowAdventures woo! You got this

  • @thedarkknight-3894
    @thedarkknight-3894 7 месяцев назад +7

    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  7 месяцев назад +4

      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 7 месяцев назад +5

    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 5 месяцев назад +3

    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.

  • @meowsqueak
    @meowsqueak Год назад +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  Год назад +2

      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
    @ChidleyITCompute 6 месяцев назад +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  6 месяцев назад +2

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

    • @dubstepaztec3573
      @dubstepaztec3573 2 месяца назад

      @@TrevorSullivan It has whatever lifetime you give it. If you don't give it an explicit lifetime like `static or `a then it lives until the current scope ends. I think it can be kinda confusing cause we tend to think of &str as it's own special thing but it's pretty much just a pointer to some bytes with a length. I have no idea what str (&str without the ref) is under the hood tbh but &str functions as any other reference type

  • @RichardWalterLanda
    @RichardWalterLanda 8 месяцев назад +3

    pls, add time codes.

  • @ImranKhan-br5dv
    @ImranKhan-br5dv 5 месяцев назад

    never learnt this much from any other video

  • @alokswaincontact
    @alokswaincontact 27 дней назад

    Is the source code that you worked on in this video available somewhere?

    • @TrevorSullivan
      @TrevorSullivan  27 дней назад

      @@alokswaincontact no I haven't published it anywhere. I usually recommend writing it yourself, as it's good practice.

  • @skull_cyber
    @skull_cyber 4 месяца назад

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

    • @TrevorSullivan
      @TrevorSullivan  4 месяца назад +2

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

    • @skull_cyber
      @skull_cyber 4 месяца назад

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