Bardzo nie lubię literówek w moich skryptach, dlatego gdzie mogę korzystam z intellisence, wybieram wartości z listy, korzystam ze zmiennych zamiast stałych napisowych itp. W C# uwielbiam typ enum, bo dzięki niemu mogę korzystać z nic mi nie mówiących wartości liczbowych za pomocą nazwanch tekstów. W Powershellu również można korzystać z typu enum:
1 2 3 4 5 6 7 8 |
Add-Type -TypeDefinition @" public enum ShareMode { Shared = 1, Private = 2, Hidden = 4 } "@ |
W powyższym przykładzie zadeklarowałem typ FeaturesMap. Zmienne tego typu mogą przyjmować wartości:
1 |
[ShareMode]::Shared |
1 |
[ShareMode]::Private |
1 |
[ShareMode]::Hidden |
Aby zadeklarować zmienną tego typu skorzystać można z następującej składni:
1 |
[ShareMode]$myVariable = [ShareMode]::Shared |
Gdzieś pod spodem moja zmienna ma wartość 1, ale podczas pisania skryptu można ją porównywać do wartości zapisywanej jako [ShareMode]::Shared, np tak
1 |
if($myVariable -eq [ShareMode]::Shared) |
1 |
{ |
1 |
echo 'shared mode' |
1 |
} |