gpt4 book ai didi

powershell - PowerShell 是否具有 "window"函数?

转载 作者:行者123 更新时间:2023-12-01 12:24:21 24 4
gpt4 key购买 nike

我一直在寻找像 F# 的 Seq.windowed 或响应式扩展 Window 这样的“窗口”函数.看起来它将由 Select-Object 之类的东西提供(它已经具有 take/skip 功能),但事实并非如此。

如果没有现成的东西,有没有关于在没有不必要的程序循环的情况下实现“窗口”的想法?

我正在寻找可以很好地与 PowerShell 管道配合使用的东西。

最佳答案

您需要使用某种队列来累积和轮换足够的先前管道项:

function Window {
param($Size)
begin {
$Queue = [Collections.Queue]::new($Size)
}
process {
$Queue.Enqueue($_)
if($Queue.Count -eq $Size) {
@(
,$Queue.ToArray()
[void]$Queue.Dequeue()
)
}
}
}

你可以这样使用它:

1..10 | Window 4 | Window 3 | Format-Custom -Expand CoreOnly

关于powershell - PowerShell 是否具有 "window"函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41508855/

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