Iterator
ویژگی ‘Iterator’ از تکرار بیش از مقادیر در یک مجموعه پشتیبانی میکند. این به یک متد next
نیاز دارد و متدهای زیادی را ارائه میکند. بسیاری از انواع کتابخانه استاندارد Iterator
را پیادهسازی میکنند و شما نیز میتوانید آن را خودتان پیادهسازی کنید:
Speaker Notes
This slide should take about 5 minutes.
-
ویژگی
Iterator
بسیاری از عملیات برنامهنویسی تابعی رایج را روی collectionها پیادهسازی میکند (مانندmap
,filter
,reduce
,و غیره). این ویژگی است که در آن میتوانید تمام اسناد مربوط به آنها را پیدا کنید. در Rust، این توابع باید کد را به اندازه پیادهسازیهای ضروری معادل تولید کنند. -
IntoIterator
ویژگی است که باعث میشود حلقهها کار کنند. این مجموعه (collection) توسط تایپهای مجموعه مانندVec<T>
و ارجاعاتی به آنها مانند&Vec<T>
و&[T]
پیادهسازی میشود. Ranges نیز آن هارا اجرا میکند. به همین دلیل است که میتوانید روی یک بردار بابرای i در some_vec { .. }
تکرار کنید، اما درنهایتsome_vec.next()
وجود ندارد.