【问题标题】:Flatmap equivalent in PowerShellPowerShell 中的平面图等效项
【发布时间】:2016-07-27 17:09:22
【问题描述】:
Get-ChildItem -Recurse -Filter "*" -Include "*.coffee" | Select -propert FullName

这将返回我项目中所有咖啡脚本文件的列表。

如何将其转换为单个列表,其中.coffee 部分转换为.js.js.map

示例伪代码输出:

[ something.coffee, somethingelse.coffee ]
[ something.js, something.js.map, somethingelse.js, somethingelse.js.map]

【问题讨论】:

    标签: powershell flatmap


    【解决方案1】:

    您可以使用BaseName 属性:

    Get-ChildItem -Recurse -Filter "*" -Include "*.coffee" | Foreach-Object {
        '{0}.js' -f $_.BaseName
        '{0}.js.map' -f $_.BaseName    
    }
    

    【讨论】:

    • 你的答案是正确的,但是问题更多的是关于平面地图的 PowerShell 等效项,如果你能打开一点的话。
    • 抱歉,我不熟悉 flatmap,但想向您展示一种“纯”PowerShell 方法。
    • 嗯,它正在做一个平面地图。平面图是将某些内容映射到列表列表并将列表“展平”到单个列表时。也是次要的一点,它不再提供完整的路径。 :o
    • @RusinaRange 在 PowerShell 中不需要平面图的概念,因为 ForEach-Object 脚本块可以返回无限数量的值,这些值将被管道自动展平(如您在马丁斯回答)
    • @MartinBrandl 当然,您应该在答案中添加 Mathiases 评论,因为它解释了为什么/如何工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    相关资源
    最近更新 更多