3 回答

TA貢獻1846條經驗 獲得超7個贊
在大多數類似C的語言中,我故意將花括號放在我認為它們使代碼最容易閱讀的位置。
PowerShell的解析器識別出明顯沒有完成的語句,然后轉到下一行。例如,想象一個帶有可選腳本塊參數的cmdlet:
Get-Foo {............}
如果腳本塊很長,則可能需要編寫:
Get-Foo
{
......
......
......
}
但這是行不通的:解析器將看到兩個語句。第一個是Get-Foo,第二個是腳本塊。相反,我寫道:
Get-Foo {
......
......
......
}
我可以使用換行符(`),但這會使代碼難以閱讀,并引發bug。
因為這種情況要求開放括號在上一行,所以我到處都遵循這種模式:
如果(條件){
.....
}
請注意,if語句需要使用語言語法中的腳本塊,因此解析器將在腳本塊的下一行中查找,但是為了保持一致,我將大括號放在同一行上。
同樣,在長管道的情況下,我在管道字符(|)之后中斷:
$ project.Items |
?{$ _。Key -eq“ ProjectFile”} |
%{$ _。Value} |
%{$ _。EvaluatedInclude} |
%{
......
}
- 3 回答
- 0 關注
- 1283 瀏覽
添加回答
舉報