スクリプトの先頭で 【Set-PSDebug -Strict】とすると、変数の宣言を強制させることができる。
これまで自分が扱った言語(C言語 等)では、変数宣言が当たり前だったから、これは馴染む。
使用例1:あえて代入間違えのコードの先頭に Set-PSDebug -Strict があった場合
1 2 3 4 5 6 7 |
Set-PSDebug -Strict #変数I(アイ)に1を代入 $I = 1 #スペルミスで変数l(エル)を出力 Write-Host $l |
実行結果1:実行時にエラーがでることで、宣言ミスがわかる。
1 2 3 4 5 6 7 8 9 10 11 |
PS C:\Users\papanda925> Set-PSDebug -Strict 変数I(アイ)に1を代入 $I = 1 スペルミスで変数l(エル)を出力 Write-Host $l 変数 '$l' は、設定されていないために取得できません。 発生場所 行:7 文字:12 Write-Host $l ~~ CategoryInfo : InvalidOperation: (l:String) []、RuntimeException FullyQualifiedErrorId : VariableIsUndefined PS C:\Users\papanda925> |
使用例2:ちなみに Set-PSDebug -off とすると
1 2 3 4 5 6 7 |
Set-PSDebug -Off #変数I(アイ)に1を代入 $I = 1 #スペルミスで変数l(エル)を出力 Write-Host $l |
実行結果2:実行時にエラーが発生しない
1 2 3 4 5 6 |
PS C:\Users\hp> Set-PSDebug -Off 変数I(アイ)に1を代入 $I = 1 スペルミスで変数l(エル)を出力 Write-Host $l PS C:\Users\hp> |
コメント