Skip to main content

Τι είναι ο iterator;

Ένας iterator είναι ένα κατασκεύασμα γλώσσας του υπολογιστή που επιτρέπει σε ένα πρόγραμμα να διαβάσει μέσω μιας ομάδας τιμών δεδομένων ή πληροφοριών με συστηματικό τρόπο.Οι iterators επιτρέπουν επίσης ατομική πρόσβαση σε κάθε μέλος της ομάδας, χωρίς να επηρεάζουν την υπόλοιπη ομάδα.Χρησιμοποιούνται σε πολλές γλώσσες δέσμης ενεργειών και προγραμματισμού, συμπεριλαμβανομένων των C ++, Java, PHP και Perl.Η εφαρμογή τους είναι ανεξάρτητη από τα αντικείμενα που σαρώνουν, ώστε να μπορούν να σαρώσουν κάθε τύπο ομάδας αντικειμένων.

Ταξιδεύοντας μέσα από μια ομάδα αντικειμένων με έναν iterator συνήθως ονομάζεται iterating ή διασκέδαση.Στις περισσότερες γλώσσες υπολογιστών, οι iterators χρησιμοποιούνται για να διασχίσουν ομάδες σχετικών αντικειμένων που ονομάζονται συλλογές.Οι υλοποιήσεις τους είναι πολύ ευέλικτες και μπορούν να χρησιμοποιηθούν με συλλογές οποιουδήποτε μεγέθους.Είναι, γενικά, ασφαλέστερα από την απλή πρόσβαση σε μια συλλογή, επειδή η σειρά τους περιορίζεται στα στοιχεία της συλλογής.Παρόλο που εξακολουθεί να είναι δυνατή η πρόσβαση σε ένα δείκτη εκτός ορίων, δεν είναι πιθανό να χρησιμοποιηθεί σωστά ο iterator.Η γενική σύνταξη για αυτούς, αντίθετα, είναι παρόμοια στις περισσότερες γλώσσες.Υπάρχουν δύο διαφορετικοί τύποι σύνταξης που μπορούν να χρησιμοποιηθούν για τους iterators, που ορίζονται ως σαφείς ή σιωπηρές.

Οι ρητοί iterators περιλαμβάνουν τη δημιουργία ενός αντικειμένου iterator και αυτό το αντικείμενο χρησιμοποιείται στη συνέχεια σε ένα βρόχο διαδρομής πάνω από τα στοιχεία μιας συλλογής.Οι έμμεσοι iterators περιλαμβάνουν έναν ειδικό τύπο δομής βρόχου που δημιουργεί το αντικείμενο iterator χωρίς να καθορίζεται εκ των προτέρων.Το αν χρησιμοποιούνται ή όχι ρητοί ή σιωπηλοί επαναληπτικοί παράγοντες για οποιαδήποτε συγκεκριμένη διαδρομή εξαρτάται συνήθως από την προτίμηση των προγραμματιστών, καθώς οι διαφορές στην ποσότητα του κώδικα ή των επιδόσεων μεταξύ τους είναι αμελητέες.Η μεγαλύτερη διαφορά μεταξύ των ρητών και των σιωπηρών iterators είναι ότι οι ρητοί iterators δείχνουν τη δημιουργία ενός iterator στον πηγαίο κώδικα, ενώ οι σιωπηλοί iterators δεν το δείχνουν αυτό. Όποτε είναι διαθέσιμη μια συλλογή αντικειμένων, ένας iterator μπορεί να χρησιμοποιηθεί για να τους σαρώσει.Ανάλογα με τις δυνατότητες μιας γλώσσας του υπολογιστή, οι iterators μπορούν να χρησιμοποιηθούν σε συστοιχίες, χάρτες, λίστες και μια ποικιλία άλλων τύπων συλλογής.Οι iterators είναι ένα σχετικά πανταχού παρόν χαρακτηριστικό των γλωσσών προγραμματισμού και οι πιο συνηθισμένες γλώσσες διαθέτουν κάποιο είδος λειτουργικότητας.Ορισμένες γλώσσες υπολογιστών επιτρέπουν στους iterators με πρόσθετα χαρακτηριστικά, όπως οι περιορισμοί σχετικά με τον αριθμό των φορών που έχουν πρόσβαση ένα στοιχείο.Δεδομένου ότι αυτά τα χαρακτηριστικά δεν είναι καθολικά, υπάρχουν μερικές φορές τρόποι με τους οποίους μπορούν να εφαρμοστούν ανεξάρτητα από τους ίδιους τους iterators.