从零开始学PowerShell(10)PowerShell中的子表达式
在PowerShell中你或許看到過類似@(......),?$(......),(......)這類使用圓括號將一系列語句包裹在一起的寫法形式出現在腳本中。今天我們要說的就是這幾種表達式,它們被稱作子表達式,子表達式。
三種表達式分別如下:
組表達式
(......)?我們稱這類由圓括號括起來的表達式為組表達式。
組表達式主要用于對語句塊的優先級檢測,可以看到圓括號內的語句塊是優先級最高執行的。
PS /> (100+8) * 7 756除了設置優先級以外,還可以作為動態調用屬性的一種方式,圓括號內為要處理的語句塊。
PS /> (Get-Process -ProcessName "WeChat").CPU 1284115.295873子表達式
我們稱$(......)?這類由美元$符號與圓括號組合的表達式為子表達式。
在子表達式中,我們可以把任何想要執行的語句塊,單個或者多個語句放在一起,當語句塊內的表達式執行后返回的值如果是單個值的話它最終返回的其實是一個標量值。
PS /> $str1 = "123" PS /> $($str1) 123 PS /> $($str1)[0] 1反之如果是多個值,那么它返回的是一個數組類型值,下面的示例中我們定義了一個$str2數組變量,取它的下標[0]值,取的是首位標量的值。
PS /> $str2 = "123","456","789" PS /> $($str2) 123 456 789 PS /> $($str2)[0] 123數組子表達式
我們稱@(......)這類由@符號與圓括號組合的表達式為數組子表達式。
數組子表達式與子表達式類似,但主要的區別是無論表達式最后執行后返回的值是單個值還是多個值都是以數組形式返回的,從下面的實例中可以看到我們只給str1賦值了一個字符串123,但取它的首位下標,返回了整個數值。
PS /> $str1 = "123" PS /> @($str1) 123 PS /> @($str1)[0] 123另外,數組表達式即便返回的是一個空值,它也屬于是數組類型。
總結
以上是生活随笔為你收集整理的从零开始学PowerShell(10)PowerShell中的子表达式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MasterSlave是什么?
- 下一篇: 九章算法 | Facebook 面试题