Skip to main content

Δημιουργία αντιγράφων λίστας με την εντολή "foreach" του Linux

Access 2003 Expert - Μακροεντολές (Μαρτιου 2024)

Access 2003 Expert - Μακροεντολές (Μαρτιου 2024)
Anonim

Κατά τον προγραμματισμό, τογια κάθε εντολή υλοποιεί έναν βρόχο όπου οι μεταβλητές βρόχου αναλαμβάνουν τις τιμές από μία ή περισσότερες λίστες. Στην απλούστερη περίπτωση υπάρχει μια μεταβλητή βρόχου, varname , και μια λίστα, λίστα , αυτή είναι μια λίστα με τις τιμές που πρέπει να αντιστοιχίσετε varname . ο σώμα το όρισμα είναι ένα σενάριο Tcl. Για κάθε στοιχείο του λίστα (κατά σειρά από το πρώτο στο τελευταίο),για κάθε εκχωρεί τα περιεχόμενα του στοιχείου στο varname σαν ναlindexεντολή είχε χρησιμοποιηθεί για την εξαγωγή του στοιχείου, τότε καλεί τον ερμηνευτή Tcl να εκτελέσει σώμα .

Σύνοψη

για κάθε varname body list

για κάθε varlist1 list1 ? varlist2 list2 … ? σώμα

Συζήτηση

Σε μια γενική περίπτωση, μπορεί να υπάρχουν περισσότεροι από ένας κατάλογοι τιμών (π.χ., λίστα1 και λίστα2 ) και κάθε λίστα τιμών μπορεί να συσχετιστεί με μια λίστα μεταβλητών βρόχου (π.χ., varlist1 και varlist2 ). Κατά τη διάρκεια κάθε επανάληψης του βρόχου, οι μεταβλητές του καθενός varlist αποδίδονται διαδοχικές τιμές από τις αντίστοιχες λίστα . Τιμές σε κάθε λίστα χρησιμοποιούνται κατά σειρά από την πρώτη ως την τελευταία, και κάθε τιμή χρησιμοποιείται ακριβώς μία φορά. Ο συνολικός αριθμός επαναλήψεων κύκλου είναι αρκετά μεγάλος ώστε να χρησιμοποιεί όλες τις τιμές από όλες τις λίστες τιμών. Εάν μια λίστα τιμών δεν περιέχει αρκετά στοιχεία για κάθε μεταβλητή βρόχου σε κάθε επανάληψη, χρησιμοποιούνται κενές τιμές για τα στοιχεία που λείπουν.

οΔιακοπή καινα συνεχίσει οι δηλώσεις μπορούν να χρησιμοποιηθούν μέσα σώμα , με το ίδιο αποτέλεσμα όπως στο Για εντολή. Το fουρανό επιστρέφει μια κενή συμβολοσειρά.

Παραδείγματα

Χρησιμοποιείται ο ακόλουθος βρόχος Εγώ και j ως μεταβλητές βρόχου για την επανάληψη πάνω από ζεύγη στοιχείων μιας μόνο λίστας.

Η τιμή του x είναι "b a d c f e". Υπάρχουν 3 επαναλήψεις του βρόχου.

Ο επόμενος βρόχος χρησιμοποιεί Εγώ και j να επαναλάβετε παράλληλα δύο λίστες.

Η τιμή του x είναι "a d b e c f {} g" # Υπάρχουν 4 επαναλήψεις του βρόχου.

Οι δύο μορφές συνδυάζονται στο ακόλουθο παράδειγμα.

Η τιμή του x είναι "a d e b f g c {} {}" # Υπάρχουν 3 επαναλήψεις του βρόχου.

Σημειώσεις

Πολλές σχετικές εντολές δουλεύουν μεγια κάθε συμπεριλαμβανομένου:

  • για (η)
  • ενώ (η)
  • διάλειμμα (η)
  • συνεχίσει (n)

Επειδή τα επίπεδα διανομής Linux και πυρήνα διαφέρουν, χρησιμοποιήστε το άνδρας εντολή ( % άνδρας ) για να δείτε πώς μια εντολή χρησιμοποιείται ειδικά στον υπολογιστή σας.