[eeei.gr Logo]
Επικοινωνία
Ταυτότητα
Μαθήματα Internet | Μαθήματα Προγραμματισμού | Net Business | Τα νέα του Internet | Ο Κόσμος του Αύριο

Last, Next, Redo

Η last χρησιμοποιείται για να τερματίσει ένα block. Μετά την last η Perl θα διακόψει τη συγκεκριμένη αλληλουχία (π.χ. μια while) και θα συνεχίσει στην εκτέλεση του υπόλοιπου προγράμματος.

Η next διακόπτει το τρέχον loop και το ξαναρχίζει από την αρχή.

Η redo διακόπτει το τρέχον loop και το ξαναρχίζει από την αρχή. Αντίθετα από τη next όμως δεν ελέγχει την αρχική συνθήκη. Ας δούμε ένα παράδειγμα:

my $input = 8;

until ($input ==5)

{

print "Type 1 or 2 or something\n";

my $input = <STDIN>;

chomp ($input);

Δίνουμε μια αρχική τιμή στην $input για να μπορέσει να τρέξει το until loop. Μέχρι τώρα η $input να πάρει την τιμή 5 εμείς θα δίνουμε κάποια στοιχεία και το πρόγραμμα θα ανταποκρίνεται ανάλογα.

if ($input == 1)

{

print "You typed 1\n";

last;

}

Αν ο χρήστης πληκτρολογήσει 1 τότε θα τυπωθεί το σχετικό μήνυμα και το until loop θα διακοπεί. Θα τυπωθεί δηλαδή το «Eyxaristoyme gia th dokimh toy programmatos» (που βρίσκεται εκτός του until loop στην τελευταία σειρά) και μετά το πρόγραμμα θα τερματίσει.

elsif ($input == 2)

{

print "You typed 2\n";

next;

}

Αν ο χρήστης πληκτρολογήσει 1 τότε θα τυπωθεί το σχετικό μήνυμα και το until loop θα ξαναρχίσει από την αρχή.

else

{

print "You typed $input\n";

redo;

}

Ό,τι άλλο και να εκτυπώσει ο χρήστης θα εμφανιστεί από την print και μετά θα ξανατρέξει το until loop. Προσέξτε ότι η συνθήκη του until μας λέει πώς αν το $input είναι 5 τότε το loop πρέπει να διακοπεί. Αν τρέξετε όμως το πρόγραμμα θα παρατηρήσετε πως ακόμη και με $input 5 ο πρόγραμμα συνεχίζει να τρέχει μια και η redo ξανατρέχει το loop χωρίς να ελέγξει την αρχική συνθήκη.

}

print "Eyxaristoyme gia th dokimh toy programmatos\n";

Το πρόγραμμα ολοκληρώνεται.


Τρέχουσα Ενότητα: Perl


 

Φιλικά - συνεργαζόμενα sites: Left Handed Products


© Eeei.gr 2009