gpt4 book ai didi

arrays - -join ";"是如何工作的?

转载 作者:行者123 更新时间:2023-12-01 11:17:33 25 4
gpt4 key购买 nike

This answer包括一个类似 Powershell 的代码,可以拆分 $env:path , 应用过滤器并将结果放在一起,将其存储在 $env:path 中.

$path = ($path.Split(';') | Where-Object { $_ -ne 'ValueToRemove' }) -join ';'

我正在阅读这段代码,然后,突然,一个疯狂的 -join ';'出现。这是如何运作的?这背后的概念是什么?我希望 (<expression)最终会变成某个对象,但是这就像读<object> -join ';' ,所以连接部分仍然是一些独立的标记。它是如何评价的?我可以看到它显然做了“正确的事情”,但它是如何工作的以及为什么工作? Powershell 究竟如何评估这条线?对我来说,这看起来像是非常黑暗的魔法。

最佳答案

如前所述by the docs -Join Operator主要有两种使用方式:

-Join <String[]>
<String[]> -Join <Delimiter>

大多数 PowerShell 运算符都以这种方式工作(并且看起来类似于方法参数)。您在运算符的左侧获得了一些值并执行一个操作(在本例中为连接)右侧标记,在您的情况下为分号 ; .

查看帮助(通过键入 Get-Help <section_name> )部分 about_Join about_Operators

还有一个从文档中复制的很好的例子(不需要事先拆分)是:

PS> $a = "WIND", "S P", "ERSHELL"
PS> $a -join "OW"
WINDOWS POWERSHELL

关于arrays - -join ";"是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48639132/

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