1

我有以下代码:

cls
$input = 'Hello World'
Write-Host '$input.GetType() = ' + $input.GetType()

function some-string-function($input)
{
    Write-Host 'In the function now'
    Write-Host '$input.GetType() = ' + $input.GetType()
    Write-Host '$input (value)   = ' + $input
    return $input.length
}

$result = some-string-function $input

"`$result = $result"

我得到以下信息:

$input.GetType() =  + System.String
In the function now
$input.GetType() =  + System.Collections.ArrayList+ArrayListEnumeratorSimple
$input (value)   =  + System.Collections.ArrayList+ArrayListEnumeratorSimple
$result = 

有人可以指出我实际上如何将字符串传递给PowerShell中的函数吗?

4

1 回答 1

3

澄清我的评论$input是保留的自动变量。如果您some-string-function使用另一个命名变量更改它,您将获得预期的行为。

于 2012-11-29T14:32:50.413 回答