در برنامه نویسی رایانه، ایتریتور ( به انگلیسی: Iterator ) یا پیمایشگر[ نیازمند منبع] یک شیء است که به یک برنامه نویس امکان می دهد تا یک گردآورد – به ویژه فهرست ها – را پیمایش کند. [ ۱] [ ۲] [ ۳] معمولاً رابط برنامه نویسی یک گردآورد، امکان استفاده از انواع مختلفی از پیمایشگرها را می دهد. هر نوع خاص از پیمایشگر می تواند در انواع مختلف گردآورد، کاربرد و معنای یکسانی داشته باشد اما چگونگی پیاده سازی درونی آن برای هر گردآورد، وابستگی زیادی به ساختار درونی و چگونگی پیاده سازی گردآورد متناظرش دارد.
اگرچه که پیمایشگر ( ایتریتور ) عملیات پیمایش را انجام می دهد و همچنین دسترسی به عناصر دادهٔ موجود در یک گردآورد را ممکن می سازد، اما خود ایتریشن را انجام نمی دهد ( البته اگر دایرهٔ معنایی ایتریشن را خیلی گسترده در نظر نگیریم ) . [ نیازمند منبع] می توان پیمایشگر را مشابه مکان نما در پایگاه داده در نظر گرفت و هر دو بر مبنای الگوی تکرار طراحی شده اند. پیمایشگرها با زبان برنامه نویسی سی ال یو در سال ۱۹۷۴ مطرح شدند.
پیمایشگرهای درونی، توابع مرتبهٔ بالاتری مانند Map و Reduce هستند که پیمایش کل گردآورد همراه با اعمال به نوبتِ تابع ورودی روی هر عنصر را پیاده سازی می کنند.
یک پیمایشگر بیرونی را می توان مانند یک اشاره گر در نظر گرفت که قادر به انجام دادن دو عملیات مهم است: ارجاع دادن به یک عنصر خاص درون گردآورد مورد استفاده ( که به آن دسترسی به عنصر ( به انگلیسی: element access ) می گوییم ) و ایجاد در تغییر در خودش به گونه ای که به عنصر بعدیِ گردآورد اشاره کند ( که به آن پیمایش عنصر ( به انگلیسی: element traversal ) می گوییم ) . [ ۴] همچنین باید راهی برای ایجاد یک پیمایشگر وجود داشته باشد که در ابتدا به یکی از عناصر اشاره کند. افزون بر این، باید تدبیری برای تشخیص این که همهٔ عناصر موجود در گردآورد پیمایش شده اند یا خیر، وجود داشته باشد. البته پیمایشگرها ممکن است که توانایی انجام عملیات های بیشتری داشته باشند یا رفتارهای متفاوتی از خود نشان دهند اما این موضوع به زبان برنامه نویسی و کاربرد مورد نظر بستگی دارد.
هدف اصلی پیمایشگر این است که به کاربر این امکان را دهد که بدون توجه به ساختار درونی یک گردآورد، هر عنصر از گردآورد را پردازش کند. [ ۲] بدین ترتیب، گردآورد نیز این امکان را دارد که عناصر را به هر طریقی که بخواهد ذخیره کند در حالی که کاربر قادر است با آن صرفاً مانند یک دنباله یا فهرست ساده رفتار کند. معمولاً تلاش می شود که یک کلاس پیمایشگر شدیداً متناسب با کلاس گردآورد مربوطه طراحی شود. معمولاً خود گردآورد متدهای ساخت پیمایشگر را فراهم می کند.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفاگرچه که پیمایشگر ( ایتریتور ) عملیات پیمایش را انجام می دهد و همچنین دسترسی به عناصر دادهٔ موجود در یک گردآورد را ممکن می سازد، اما خود ایتریشن را انجام نمی دهد ( البته اگر دایرهٔ معنایی ایتریشن را خیلی گسترده در نظر نگیریم ) . [ نیازمند منبع] می توان پیمایشگر را مشابه مکان نما در پایگاه داده در نظر گرفت و هر دو بر مبنای الگوی تکرار طراحی شده اند. پیمایشگرها با زبان برنامه نویسی سی ال یو در سال ۱۹۷۴ مطرح شدند.
پیمایشگرهای درونی، توابع مرتبهٔ بالاتری مانند Map و Reduce هستند که پیمایش کل گردآورد همراه با اعمال به نوبتِ تابع ورودی روی هر عنصر را پیاده سازی می کنند.
یک پیمایشگر بیرونی را می توان مانند یک اشاره گر در نظر گرفت که قادر به انجام دادن دو عملیات مهم است: ارجاع دادن به یک عنصر خاص درون گردآورد مورد استفاده ( که به آن دسترسی به عنصر ( به انگلیسی: element access ) می گوییم ) و ایجاد در تغییر در خودش به گونه ای که به عنصر بعدیِ گردآورد اشاره کند ( که به آن پیمایش عنصر ( به انگلیسی: element traversal ) می گوییم ) . [ ۴] همچنین باید راهی برای ایجاد یک پیمایشگر وجود داشته باشد که در ابتدا به یکی از عناصر اشاره کند. افزون بر این، باید تدبیری برای تشخیص این که همهٔ عناصر موجود در گردآورد پیمایش شده اند یا خیر، وجود داشته باشد. البته پیمایشگرها ممکن است که توانایی انجام عملیات های بیشتری داشته باشند یا رفتارهای متفاوتی از خود نشان دهند اما این موضوع به زبان برنامه نویسی و کاربرد مورد نظر بستگی دارد.
هدف اصلی پیمایشگر این است که به کاربر این امکان را دهد که بدون توجه به ساختار درونی یک گردآورد، هر عنصر از گردآورد را پردازش کند. [ ۲] بدین ترتیب، گردآورد نیز این امکان را دارد که عناصر را به هر طریقی که بخواهد ذخیره کند در حالی که کاربر قادر است با آن صرفاً مانند یک دنباله یا فهرست ساده رفتار کند. معمولاً تلاش می شود که یک کلاس پیمایشگر شدیداً متناسب با کلاس گردآورد مربوطه طراحی شود. معمولاً خود گردآورد متدهای ساخت پیمایشگر را فراهم می کند.

wiki: ایتریتور