PowerShell mengatur cara membuat dan menggunakannya

PowerShell mengatur cara membuat dan menggunakannya

Pembolehubah adalah struktur data yang paling asas dalam sebarang jenis pengekodan. Tetapi pembolehubah tunggal tidak mencukupi untuk kebanyakan tujuan, terutama ketika berurusan dengan algoritma yang lebih kompleks.

Di situlah tatasusunan masuk. Sama ada C ++ atau Python, tatasusunan hadir dalam setiap bahasa pengaturcaraan dalam beberapa bentuk. Tetapi bagaimana dengan Windows PowerShell? Bagaimana array powerShell berfungsi? Bagaimana anda menggunakannya? Apakah sintaks mereka? Mari kita cari.

Isi kandungan

    PowerShell Arrays 101

    Cukup bercakap, array hanyalah koleksi pembolehubah berstruktur. Idea ini adalah untuk menghapuskan kerumitan menjejaki berpuluh -puluh nama dengan runtuh pembolehubah berkaitan ke dalam set bernombor.

    Di PowerShell, anda boleh membuat pemboleh ubah dengan mempersiapkan simbol $ ke nama pembolehubah. Sebagai contoh:

    $ prime = 13

    Pembolehubah boleh mengandungi sebarang jenis data, dari nombor ke rentetan. Anda hanya perlu menggunakan petikan berganda atau tunggal untuk menentukan rentetan.

    $ name = "Levin"

    Sekarang untuk membuat array baru, cukup berikan pelbagai nilai kepada pemboleh ubah yang sama, dipisahkan oleh koma. Seperti ini:

    $ Minggu = "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"

    Sebilangan orang lebih suka secara eksplisit membentuk pemboleh ubah ke dalam array untuk mengelakkan kekeliruan, walaupun itu tidak perlu. Untuk melakukan ini, letakkan nilai -nilai ke dalam tanda kurung dengan simbol @.

    $ Minggu = @("Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad")

    Ini biasanya berguna apabila cuba meletakkan output arahan lain ke dalam array, di mana anda tidak boleh menulis secara manual dalam format yang betul.

    Membuat array

    Kami sudah melihat kaedah yang paling biasa untuk membuat pelbagai. Tetapi bergantung pada keadaan, ada cara lain yang mungkin lebih sesuai. Sebagai contoh, jika anda ingin membuat array yang mengandungi pelbagai nombor, anda boleh menggunakan pengendali jarak:

    $ digit = (0 ... 9)

    Ini akan mewujudkan pelbagai sepuluh digit dari sifar hingga sembilan. Anda juga boleh memulakan array kosong, sekiranya anda hanya mahu tempat menyimpan nilai kemudian.

    $ nilai = @()

    Pelbagai tatasusunan juga boleh bersarang antara satu sama lain, walaupun penggunaan jenis ini dapat mengelirukan dengan cepat.

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

    Secara lalai array boleh menyimpan sebarang jenis pembolehubah, sama ada nombor, rentetan, atau campuran kedua -duanya. Tetapi anda boleh menentukan secara jelas jenis sekiranya anda ingin mengehadkan nilai yang dimasukkan ke dalamnya. Sebagai contoh:

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

    Dengan cara ini, array hanya boleh memegang bilangan bulat. Mencuba untuk memberikan nilai lain yang lain kepadanya akan mengembalikan ralat. Ini boleh berguna untuk mengelakkan kesilapan mudah untuk array secara eksklusif bekerja dengan nilai angka, kerana memasukkan rentetan ke dalam pemboleh ubah yang akan digunakan dalam pengiraan akan membuat masalah.

    Mengakses tatasusunan

    Setakat ini kami telah melihat pelbagai kaedah untuk membuat tatasusunan yang mengandungi pelbagai jenis data. Tetapi bagaimana anda mengakses data ini?

    Array PowerShell Gunakan format yang sama yang digunakan oleh bahasa pengaturcaraan lain. Setiap pemboleh ubah array boleh diakses dengan nombor indeksnya. Sebagai contoh:

    $ var = $ nombor [5]

    Ini akan menyalin nilai yang disimpan dalam indeks lima $ nombor array di $ var pembolehubah. Perhatikan bahawa indeks array mula mengira dari 0, jadi item pertama diakses dengan sifar.

    Jika kita hendak mengeluarkan ini, sebagai contoh:

    "$ Hari [2]"

    Kami akan mendapat hari Rabu, bukan Selasa.

    Anda boleh menggunakan kaedah yang sama untuk mengubah suai nilai ini juga. Sebagai contoh, arahan berikut akan mengubah elemen kedua array menjadi sifar:

    $ nombor [1] = 0

    Anda juga boleh menambah lebih banyak elemen ke array yang ada dan bukannya mengubah nilai penyertaan semasa hanya dengan menambahkannya seperti ungkapan aritmetik.

    $ nama += "Johny"

    Kaedah ini boleh digunakan untuk menambah beberapa penyertaan sekaligus, atau bahkan keseluruhan tatasusunan.

    $ nama += "Charlie, Liam, Teresa"

    $ nama += $ nama keluarga

    Kaedah yang dipisahkan koma memegang untuk mengakses pelbagai elemen array. Memasuki ini, sebagai contoh, menyimpan lima elemen pertama $ hari dalam $ hari kerja.

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

    Melangkah melalui tatasusunan

    Secara manual mengakses unsur -unsur tertentu dari array adalah baik dan baik, tetapi jika anda ingin melakukan tindakan pada keseluruhan kandungan array, ia dapat membosankan. Pendekatan yang lebih elegan adalah menggunakan gelung untuk.

    Untuk gelung secara sistematik boleh melalui semua elemen array, memproses setiap nilai mengikut arahan. Inilah cara anda dapat membina gelung seperti itu:

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

        $ hari [$ i]

    Array.Fungsi panjang mengembalikan saiz array, yang pada dasarnya adalah bilangan elemen di dalamnya. Ini boleh dipasang ke parameter ekspresi ujian gelung untuk melangkah secara komprehensif ke atas semua elemen.

    Gelung Foreach dan gelung Objek Foreach boleh melakukan perkara yang sama dengan skrip PowerShell yang lebih leaner.

    Foreach ($ hari dalam $ hari)

        $ hari

    Ini menjimatkan usaha untuk menentukan saiz array, meninggalkan butiran untuk mengendalikan PowerShell.

    Bilakah anda harus menggunakan Array PowerShell

    Sumber terbesar pepijat dalam skrip kompleks adalah pembolehubah yang salah dirujuk. Ini berlaku kerana kehadiran sebilangan besar pembolehubah yang dinamakan unik, yang menjadikannya sukar untuk mengingati tujuan mereka.

    Pembetulan paling mudah untuk isu ini adalah menggunakan array secara meluas. Semua pembolehubah yang berkaitan dengan beberapa cara dapat diberikan kepada satu array dan diakses melalui nombor indeks mereka.

    Kes penggunaan utama Microsoft PowerShell adalah automasi, dan array memainkan peranan penting dalam hal itu. Objek yang dikembalikan oleh cmdlets PowerShell boleh disimpan ke dalam tatasusunan dan berulang. Ini membolehkan tugas berurutan dilakukan secara automatik, sangat memudahkan pentadbiran sistem.