Πίνακες PowerShell: Πώς να τις δημιουργήσετε και να τις χρησιμοποιήσετε

Οι μεταβλητές είναι η πιο βασική δομή δεδομένων σε κάθε τύπο κωδικοποίησης(any type of coding) . Αλλά οι μεμονωμένες μεταβλητές δεν επαρκούν για τους περισσότερους σκοπούς, ειδικά όταν έχουμε να κάνουμε με πιο σύνθετους αλγόριθμους.

Εκεί μπαίνουν οι πίνακες. Είτε πρόκειται για C++ είτε για Python , οι πίνακες υπάρχουν σε κάθε γλώσσα προγραμματισμού με κάποια μορφή. Τι γίνεται όμως με το Windows PowerShell ; Πώς λειτουργούν οι πίνακες PowerShell ; Πώς τα χρησιμοποιείτε; Ποια είναι η σύνταξή τους; Ας ανακαλύψουμε.

PowerShell Arrays 101

Με απλά(Simply) λόγια, ένας πίνακας είναι απλώς μια δομημένη συλλογή μεταβλητών. Η ιδέα είναι να εξαλειφθεί η ταλαιπωρία της παρακολούθησης δεκάδων ονομάτων συμπτύσσοντας σχετικές μεταβλητές σε ένα αριθμημένο σύνολο.

Στο PowerShell , μπορείτε να δημιουργήσετε μια μεταβλητή προσαρτώντας το σύμβολο $ σε ένα όνομα μεταβλητής. Για παράδειγμα:

$prime = 13

Η μεταβλητή μπορεί να περιέχει οποιονδήποτε τύπο δεδομένων, από αριθμούς έως συμβολοσειρές. Απλά πρέπει να χρησιμοποιήσετε διπλά ή μονά εισαγωγικά για να καθορίσετε μια συμβολοσειρά.

$name = “Levin”

Τώρα για να δημιουργήσετε έναν νέο πίνακα, απλώς αντιστοιχίστε πολλαπλές τιμές στην ίδια μεταβλητή, διαχωρισμένες με κόμματα. Σαν αυτό:

$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”

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

$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)

Αυτό είναι συνήθως χρήσιμο όταν προσπαθείτε να βάλετε την έξοδο άλλων εντολών σε έναν πίνακα, όπου δεν μπορείτε να τις γράψετε χειροκίνητα στη σωστή μορφή.

Δημιουργία πίνακα

Έχουμε ήδη δει την πιο κοινή μέθοδο δημιουργίας πίνακα. Αλλά ανάλογα με την κατάσταση, υπάρχουν άλλοι τρόποι που μπορεί να είναι πιο κατάλληλοι. Για παράδειγμα, εάν θέλετε να δημιουργήσετε έναν πίνακα που περιέχει ένα εύρος αριθμών, μπορείτε να χρησιμοποιήσετε τον τελεστή εύρους:

$digits = (0..9)

Αυτό θα δημιουργήσει έναν πίνακα με όλα τα δέκα ψηφία από το μηδέν έως το εννέα. Μπορείτε επίσης να αρχικοποιήσετε έναν κενό πίνακα, σε περίπτωση που θέλετε απλώς ένα μέρος για αποθήκευση τιμών αργότερα.

$values = @()

Πολλοί(Multiple) πίνακες μπορούν ακόμη και να ενσωματωθούν ο ένας στον άλλο, αν και αυτός ο τύπος χρήσης μπορεί να προκαλέσει σύγχυση πολύ γρήγορα.

$coordinates = @(
    (5, 10, 23),
    (11, 7, 16)
)

Από προεπιλογή ένας πίνακας μπορεί να αποθηκεύσει οποιονδήποτε τύπο μεταβλητής, είτε είναι αριθμοί, συμβολοσειρές ή συνδυασμός και των δύο. Αλλά μπορείτε να ορίσετε ρητά έναν τύπο σε περίπτωση που θέλετε να περιορίσετε τις τιμές που τίθενται σε αυτόν. Για παράδειγμα:

[int[]] $numbers = 2,3,4,5

Με αυτόν τον τρόπο, ο πίνακας μπορεί να κρατήσει μόνο ακέραιους αριθμούς. Εάν επιχειρήσετε να εκχωρήσετε οποιονδήποτε άλλο τύπο τιμής σε αυτό, θα εμφανιστεί ένα σφάλμα. Αυτό μπορεί να είναι χρήσιμο για την αποφυγή απλών σφαλμάτων για πίνακες που λειτουργούν αποκλειστικά με αριθμητικές τιμές, καθώς η εισαγωγή μιας συμβολοσειράς σε μια μεταβλητή που θα χρησιμοποιηθεί στους υπολογισμούς θα δημιουργήσει προβλήματα.

Πρόσβαση σε Πίνακες

Μέχρι στιγμής έχουμε δει πολλές μεθόδους για τη δημιουργία πινάκων που περιέχουν διάφορους τύπους δεδομένων. Αλλά πώς μπορείτε να αποκτήσετε πρόσβαση σε αυτά τα δεδομένα;

(PowerShell)Οι πίνακες PowerShell χρησιμοποιούν την ίδια μορφή που χρησιμοποιείται από άλλες γλώσσες προγραμματισμού. Κάθε μεταβλητή πίνακα μπορεί να προσπελαστεί από τον αριθμό ευρετηρίου της. Για παράδειγμα:

$var = $numbers[5]

Αυτό θα αντιγράψει την τιμή που είναι αποθηκευμένη στο ευρετήριο πέντε του πίνακα $numbers στη μεταβλητή $var . Σημειώστε ότι οι δείκτες του πίνακα αρχίζουν να μετράνε από το 0, επομένως η πρόσβαση στο πρώτο στοιχείο γίνεται με μηδέν.

Αν βγάζαμε αυτό, για παράδειγμα:

“$days[2]”

Θα πάρουμε Τετάρτη, όχι Τρίτη.

Μπορείτε να χρησιμοποιήσετε την ίδια μέθοδο για να τροποποιήσετε και αυτές τις τιμές. Για παράδειγμα, η ακόλουθη εντολή θα αλλάξει το δεύτερο στοιχείο του πίνακα σε μηδέν:

$numbers[1] = 0

Μπορείτε επίσης να προσθέσετε περισσότερα στοιχεία σε έναν υπάρχοντα πίνακα αντί να αλλάξετε τις τιμές των τρεχουσών καταχωρήσεων απλώς προσθέτοντάς τες σαν μια αριθμητική παράσταση.

$names += “Johny”

Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί για την προσθήκη πολλαπλών καταχωρήσεων ταυτόχρονα, ή ακόμα και ολόκληρων πινάκων.

$names += “Charlie, Liam, Teresa”

$names += $surnames

Η μέθοδος διαχωρισμένη με κόμμα ισχύει και για την πρόσβαση σε πολλαπλά στοιχεία πίνακα. Με την εισαγωγή αυτού, για παράδειγμα, αποθηκεύονται τα πρώτα πέντε στοιχεία των $days σε $weekdays .

$weekdays = $days[0,1,2,3,4]

Επανάληψη μέσω πινάκων

Η μη αυτόματη πρόσβαση σε συγκεκριμένα στοιχεία ενός πίνακα είναι καλή και καλή, αλλά αν θέλετε να εκτελέσετε ενέργειες σε ολόκληρο το περιεχόμενο ενός πίνακα, μπορεί να γίνει κουραστικό. Μια πιο κομψή προσέγγιση είναι η χρήση ενός βρόχου For.

Οι βρόχοι For μπορούν να περάσουν συστηματικά από όλα τα στοιχεία ενός πίνακα, επεξεργάζοντας κάθε τιμή σύμφωνα με οδηγίες. Έτσι μπορείτε να δημιουργήσετε έναν τέτοιο βρόχο:

For ($i = 0 ; $i -lt $days.Length ; $i++){
    $days[$i]}

Η συνάρτηση array.Length επιστρέφει το μέγεθος του πίνακα, το οποίο είναι βασικά ο αριθμός των στοιχείων σε αυτόν. Αυτό μπορεί να συνδεθεί σε μια παράμετρο έκφρασης δοκιμής βρόχου For για πλήρη επανάληψη σε όλα τα στοιχεία.

Ο βρόχος Foreach και ο βρόχος Foreach(Foreach) -object μπορούν να κάνουν το ίδιο με ένα ακόμη πιο λιτό σενάριο PowerShell .

Foreach ($day in $days){
    $day}

Αυτό σας εξοικονομεί την προσπάθεια να προσδιορίσετε το μέγεθος του πίνακα, αφήνοντας τις λεπτομέρειες να χειριστεί το PowerShell .

Πότε πρέπει να χρησιμοποιείτε συστοιχίες PowerShell(PowerShell Arrays)

Η μεγαλύτερη πηγή σφαλμάτων σε ένα σύνθετο σενάριο είναι οι μεταβλητές που αναφέρονται εσφαλμένα. Αυτό συμβαίνει λόγω της παρουσίας μεγάλου αριθμού μεταβλητών με μοναδική ονομασία, γεγονός που καθιστά δύσκολη την απομνημόνευση του σκοπού τους.

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

Η κύρια περίπτωση χρήσης του Microsoft PowerShell(Microsoft PowerShell’s) είναι ο αυτοματισμός και οι πίνακες παίζουν καθοριστικό ρόλο σε αυτό. Τα αντικείμενα που επιστρέφονται από τα cmdlet PowerShell μπορούν να αποθηκευτούν σε πίνακες και να επαναληφθούν. Αυτό επιτρέπει την αυτόματη εκτέλεση διαδοχικών εργασιών, απλοποιώντας σημαντικά τη διαχείριση του συστήματος.



About the author

Είμαι επαγγελματίας τεχνικός ήχου και πληκτρολογίου με πάνω από 10 χρόνια εμπειρία. Έχω εργαστεί στον εταιρικό κόσμο, ως σύμβουλος και διευθυντής προϊόντων, και πιο πρόσφατα, ως μηχανικός λογισμικού. Οι δεξιότητες και η εμπειρία μου μου επιτρέπουν να εργάζομαι σε διάφορα είδη έργων από μικρές επιχειρήσεις έως μεγάλες εταιρείες. Είμαι επίσης ειδικός στα Windows 11 και εργάζομαι πάνω στο νέο λειτουργικό σύστημα για πάνω από δύο χρόνια τώρα.



Related posts