PowerShell Arrays Cara membuat dan menggunakannya

PowerShell Arrays Cara membuat dan menggunakannya

Variabel adalah struktur data paling dasar dalam semua jenis pengkodean. Tetapi variabel tunggal hampir tidak cukup untuk sebagian besar tujuan, terutama saat berhadapan dengan algoritma yang lebih kompleks.

Di situlah array masuk. Baik itu c ++ atau python, array hadir dalam setiap bahasa pemrograman dalam beberapa bentuk. Tapi bagaimana dengan Windows PowerShell? Bagaimana cara kerja array PowerShell? Bagaimana cara anda menggunakannya? Apa sintaks mereka? Mari kita cari tahu.

Daftar isi

    PowerShell Arrays 101

    Sederhananya, array hanyalah koleksi variabel terstruktur. Idenya adalah untuk menghilangkan kerumitan melacak lusinan nama dengan meruntuhkan variabel terkait ke dalam set bernomor.

    Di PowerShell, Anda dapat membuat variabel dengan mempersiapkan simbol $ ke nama variabel. Misalnya:

    $ prime = 13

    Variabel dapat berisi tipe data apa pun, dari angka ke string. Anda hanya perlu menggunakan kutipan ganda atau tunggal untuk menentukan string.

    $ name = "Levin"

    Sekarang untuk membuat array baru, cukup tetapkan beberapa nilai ke variabel yang sama, dipisahkan oleh koma. Seperti ini:

    $ minggu = "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"

    Beberapa orang lebih suka secara eksplisit melemparkan variabel ke dalam array untuk menghindari kebingungan, meskipun itu tidak perlu. Untuk melakukan ini, masukkan nilai -nilai ke dalam tanda kurung yang diawali dengan simbol @.

    $ minggu = @("Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu")

    Ini biasanya berguna ketika mencoba memasukkan output dari perintah lain ke dalam array, di mana Anda tidak dapat secara manual menulisnya dalam format yang benar.

    Membuat array

    Kami telah melihat metode yang paling umum untuk membuat array. Tetapi tergantung pada situasinya, ada cara lain yang mungkin lebih cocok. Misalnya, jika Anda ingin membuat array yang berisi berbagai angka, Anda dapat menggunakan rentang operator:

    $ digit = (0… 9)

    Ini akan membuat array dari semua sepuluh digit dari nol hingga sembilan. Anda juga dapat menginisialisasi array kosong, jika Anda hanya ingin tempat untuk menyimpan nilai nanti.

    $ values ​​= @()

    Beberapa array bahkan dapat bersarang satu sama lain, meskipun jenis penggunaan ini bisa menjadi membingungkan.

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

    Secara default array dapat menyimpan jenis variabel apa pun, baik itu nomor, string, atau campuran keduanya. Tetapi Anda dapat secara eksplisit mendefinisikan tipe jika Anda ingin membatasi nilai yang dimasukkan ke dalamnya. Misalnya:

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

    Dengan cara ini, array hanya bisa menahan bilangan bulat. Mencoba menetapkan jenis nilai lain ke sana akan mengembalikan kesalahan. Ini dapat berguna untuk mencegah kesalahan sederhana untuk array secara eksklusif bekerja dengan nilai numerik, karena memasukkan string ke dalam variabel yang akan digunakan dalam perhitungan akan membuat masalah.

    Mengakses array

    Sejauh ini kami telah melihat beberapa metode untuk membuat array yang berisi berbagai jenis data. Tapi bagaimana cara mengakses data ini?

    Array PowerShell menggunakan format yang sama yang digunakan oleh bahasa pemrograman lainnya. Setiap variabel array dapat diakses dengan nomor indeksnya. Misalnya:

    $ var = $ angka [5]

    Ini akan menyalin nilai yang disimpan dalam indeks lima $ angka array di $ var variabel. Perhatikan bahwa indeks array mulai menghitung dari 0, jadi item pertama diakses dengan nol.

    Jika kami meng -output ini, misalnya:

    “$ Hari [2]”

    Kami akan mendapatkan hari Rabu, bukan hari Selasa.

    Anda dapat menggunakan metode yang sama ini untuk memodifikasi nilai -nilai ini juga. Misalnya, perintah berikut akan mengubah elemen kedua dari array menjadi nol:

    $ angka [1] = 0

    Anda juga dapat menambahkan lebih banyak elemen ke array yang ada daripada mengubah nilai -nilai entri saat ini hanya dengan menambahkannya seperti ekspresi aritmatika.

    $ names += "Johnny"

    Metode ini dapat digunakan untuk menambahkan beberapa entri sekaligus juga, atau bahkan seluruh array.

    $ names += "Charlie, Liam, Teresa"

    $ names += $ nama keluarga

    Metode yang dipisahkan koma juga berlaku untuk mengakses beberapa elemen array. Memasuki ini, misalnya, menyimpan lima elemen pertama $ hari di dalam $ hari kerja.

    $ hari kerja = $ hari [0,1,2,3,4]

    Iterasi melalui array

    Secara manual mengakses elemen -elemen tertentu dari suatu array baik dan bagus, tetapi jika Anda ingin melakukan tindakan pada seluruh isi array, itu bisa membuat membosankan. Pendekatan yang lebih elegan adalah menggunakan loop untuk.

    Untuk loop dapat secara sistematis melewati semua elemen array, memproses setiap nilai sesuai dengan instruksi. Beginilah cara Anda dapat membangun lingkaran seperti itu:

    Untuk ($ i = 0; $ i -lt $ hari.Panjang ; $ i ++)

        $ hari [$ i]

    Array.Fungsi panjang mengembalikan ukuran array, yang pada dasarnya adalah jumlah elemen di dalamnya. Ini dapat dicolokkan ke parameter ekspresi uji Loop untuk mengulangi secara komprehensif atas semua elemen.

    Loop foreach dan loop objek-foreach dapat melakukan hal yang sama dengan skrip PowerShell yang lebih ramping.

    Foreach ($ hari dalam $ hari)

        $ hari

    Ini menyelamatkan Anda dari upaya menentukan ukuran array, meninggalkan detail untuk ditangani PowerShell.

    Kapan Anda harus menggunakan array PowerShell

    Sumber bug terbesar dalam skrip kompleks adalah variabel yang direferensikan secara tidak benar. Ini terjadi karena adanya sejumlah besar variabel bernama unik, yang membuatnya sulit untuk mengingat tujuan mereka.

    Perbaikan paling sederhana untuk masalah ini adalah menggunakan array secara luas. Semua variabel yang terkait dalam beberapa cara dapat ditetapkan ke array tunggal dan diakses melalui nomor indeks mereka.

    Kasing penggunaan utama Microsoft PowerShell adalah otomatisasi, dan array memainkan peran penting dalam hal itu. Objek yang dikembalikan oleh PowerShell Cmdlets dapat disimpan ke dalam array dan diulang. Ini memungkinkan tugas berurutan dilakukan secara otomatis, sangat menyederhanakan administrasi sistem.