gpt4 book ai didi

powershell - 比较字符串与数组

转载 作者:行者123 更新时间:2023-12-04 17:18:16 26 4
gpt4 key购买 nike

我是 PowerShell 脚本的新手。这是我使用 pester 创建测试时出现的问题.问题是关于比较数组与字符串的问题如下:

@('hello', 'world') -eq 'hello world' # returns nothing
'hello world' -eq @('hello', 'world') # returns true

如果有人能告诉我其中的区别,我将不胜感激。

最佳答案

PowerShell 操作符遵循“左手规则”。换句话说,LHS 上对象的类型决定了如何进行比较。如果 LHS 是一个数组,那么右手边将与 RHS 数组的每个元素进行比较。如果有匹配项,则运算符返回匹配的元素。如果没有匹配项,则运算符不返回任何内容。另一方面,如果 LHS 是字符串,则右侧将转换为字符串并完成比较。通过执行等效于 $array -join $OFS 的操作将数组转换为字符串. $OFS(输出字段分隔符)是一个默认为“”的内置变量。这就是为什么您的第二次比较成功 @("Hello", "world") 被转换为“Hello world”。

关于powershell - 比较字符串与数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50780342/

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