簡體   English   中英

Powershell:類似Haskell的$(apply)運算符?

[英]Powershell: Haskell-like $ (apply) operator?

我經常開始輸入azure命令,然后需要訪問一個屬性,最后得到像這樣的命令

(($a|get-something).prop1|get-otherstuff).prop2

有沒有一種優雅的方式(或黑客)寫它更像像haskell,以避免必須跳到開頭paranthesis線的開頭? 我在想

$a | get-someArray $ [0] | get-details $ .prop2

為了. - 可訪問的屬性,我到目前為止:

function $ {param([parameter(ValueFromPipeline)] $x, [parameter(Position=1)]$y)$x|Select-Object -ExpandProperty $y}

允許我做expr |$ prop | expr |$ prop expr |$ prop | expr |$ prop而不是((expr).prop) | expr).prop ((expr).prop) | expr).prop

對於陣列訪問,我們可以做到

function § {param([parameter(ValueFromPipeline)] $x, [parameter(Position=1)]$y)$x[$y]}

因此,我們可以做到這一點: arrayexpr |§ 0 |$ prop

你有更多的想法可以讓我們在打字之前不去思考嗎?

我真的不太了解Haskell,但是

$a | Get-Something | % prop1 | Get-OtherStuff | % prop2

也許?

當然,它很容易破損,你可能仍需要括號來澄清哪些結果以什么方式分組。 ForEach-Object是一種通過管道訪問屬性值的便捷​​方式,遠遠超過Select-Object -ExpandProperty

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM