gpt4 book ai didi

powershell - Powershell:类似Haskell的$(应用)运算符?

转载 作者:行者123 更新时间:2023-12-03 01:05:48 25 4
gpt4 key购买 nike

我经常开始输入azure命令,然后需要访问一个属性,最后得到诸如以下命令

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

有没有一种优雅的方式(或技巧)将其编写为更像haskell那样,以避免不得不跳到开头括号的开头呢?我在想
$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

对于数组访问,我们可以
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更为方便。

关于powershell - Powershell:类似Haskell的$(应用)运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49047670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com