小编geo*_*ced的帖子

PowerShell 中的逻辑运算符优先级

为什么这个表达式返回 False 而不是 True ?

$true -or $false -and $false

-and-or正如Microsoft Powershell 文档所确认的那样,应优先于.

但看起来表达式被评估为($true -or $false) -and $false而不是$true -or ($false -and $false)

有人可以向我解释我在这里缺少什么吗?

powershell

5
推荐指数
1
解决办法
718
查看次数

Powershell 数组、函数和参考

我知道 Powershell 数组是不可变的对象,并且像所有对象一样,通过引用函数来传递。但是我在下面的例子中不明白为什么$b没有与$a.

唯一的区别是它$b不是强类型的。这是否意味着从toTest-ByRefArray转换,实际上创建了一个新对象,这可以解释为什么在这个新对象上所做的更改对原始对象没有影响?$b[object[]][string[]]Test-ByRefArray

function Test-ByRefArray {
    param (
        [string[]] $Array1,
        [string[]] $Array2
    )
    $Array1[0] = "Modified by Test-ByRefArray"
    $Array2[0] = "Modified by Test-ByRefArray"
}

function Test-Array {
    [string[]] $a = 'hello', 'world'
    $b = 'hello', 'world'
    $c = $a #by ref: if a is updated, so is $c

    Test-ByRefArray -Array1 $a -Array2 $b

    $a -join ", "
    $b -join ", "
    $c -join ", "
}

Test-Array …
Run Code Online (Sandbox Code Playgroud)

powershell

2
推荐指数
1
解决办法
53
查看次数

标签 统计

powershell ×2