2011-01-19 13 views
5

Przykład 1:Co to jest poprawna składnia dla tablic w grze powershell?

Uwaga 2: przecinek również więc odrębnie w tablicy {0, -30}

Przykład2:

Aby utworzyć tablicę, tworzymy zmienną i przypisujemy tablicę. Tablice są oznaczone symbolem "@". Załóżmy podjąć dyskusję nad i używać tablicę podłączyć do wielu odległych komputerów: $ strComputers = @ („Serwer1", „Serwer2", „serwer3")

Więc, który z nich jest poprawna lub jaka jest różnica ?

+1

{0, -30} nie tworzyć array, tworzy blok skryptu. Jest to jednak sposób, w jaki tablica jest zazwyczaj drukowana na hoście, jak widać, jeśli uruchomisz: 'New-Object PSObject -Property @ {array = 'a', 'b', 'c'}' – Jaykul

Odpowiedz

13

Przykład 2 wykorzystuje składni tablicy odlewu, który umożliwia pojedynczy element, na przykład, być traktowane jako tablicy:

$myList = @("Hello") 

W istocie, pozwala to cokolwiek pomiędzy nawiasie traktowane jako matrycy oraz The wyjście z innych komend:

$myArray = "hello", "world", "again" 
:

$myArray = @(Get-Process Excel) 

Alternatywnie można po prostu stworzyć tablicę przez podanie listy oddzielone przecinkami

(Wsporniki kręcone nie są potrzebne)

+2

You powinien dodać wyjaśnienie, że {} jest blokiem skryptu, a nie tablicą, aby całkowicie odpowiedzieć na pytanie. – Jaykul

+1

Również '@()' jest określane jako 'array subexpression' - * Windows PowerShell w akcji * str. 119. :-). Druga forma powyżej "cześć", "świat", "znowu" jest "kanonicznym" sposobem tworzenia tablicy. Podwyrażenia macierzy są zwykle używane w celu zapewnienia, że ​​wynikiem jakiegoś wyrażenia jest tablica - pusty, pojedynczy element lub tablica wielu elementów. –

3

można również osiągnąć jednego elementu tablicy poprzedzenie, operator z jednej wartości:

[PS] C:\>$a = ,"Hello World" 

[PS] C:\>$a.gettype() 


IsPublic IsSerial Name          BaseType 
-------- -------- ----          -------- 
True  True  Object[]         System.Array 


[PS] C:\>$a.count 

1 
+0

dobry punkt - zmieniłem go w celu zindentowania kodu, aby był wyświetlany jako kod (preformatowany) zamiast owijania weird. – Jaykul

Powiązane problemy