-2
私はPowerShellを初めて使い、学校の講師からのフィードバックを受けました。elseifをelse文に変更
この単純なコード考えてみましょう:
if (!(Test-Path -Path $installDirectory)) {
Write-Output "Creating directory $installDirectory"
New-Item -Path $installDirectory -ItemType Directory
}
elseif (Test-Path -Path $installDirectory) {
Write-Output "Directory $installDirectory already exists."
}
講師はelseif
は私のコードを改善するためのelse
のために変更しなければならないと述べました。
これは間違いありませんか?
else {
Write-Output "Directory $installDirectory already exists."
}
おかげ
? – Filburt
テストする条件が3つ以上ある場合は、 'elseif'が必要です。 'Test-Path'の場合は、パスが存在するか存在しないかの2つの結果だけがあります。 'Else'はここでうまくいくはずです。 –
パターンが 'if(a){...} elseif(!a){...}'ならば、2番目のifを削除することでコードを改善できます。式が魔法のように2つの間で状態を反転する可能性がある場合(つまり、2つのランダムな値をチェックしている場合)、いいえ、それは改善されませんが、この場合にはなります。あなたの講師は正しいですが、彼はおそらくあなたに "なぜなら"ではなく、なぜ言ったのでしょうか? **「それが正しいとは確信できません」ではなく、「なぜ正しいのですか?」と尋ねるアドバイスに尋ねることを習慣にしてください**この場合、あなたは講師に尋ねた方がよいでしょう。 –