我在嘗試製作一個按文件擴展名分組的過濾器。跟團操作,很容易:如何在Powershell過濾器中嵌入管道操作員?
$fileList | group { [io.path]::getextension($_) }
我想作出上述成過濾器,以節省一些打字,所以我可以做這個:
$fileList | group-by-extension
,但我有找出正確的語法有困難。這些顯然不起作用,例如:
filter group-by-extension { $_ | group { [io.path]::getextension($_) } }
function group-by-extension { $_ | group { [io.path]::getextension($_) } }
如何編寫一個接收管道並通過另一個過濾器運行的函數?
啊哈!我沒有意識到END可以返回值。好的,這樣就解決了我的具體問題,涉及到團隊運作。但更一般地說,如果我想使用流式運算符(除了組之外的其他東西,比如說'where'),並且保持懶惰的eval?在這種情況下,我不想在傳遞到下一個操作之前緩衝到本地數組中。 – scobi 2011-02-15 19:57:41