将字符串类型传递给函数

时间:2012-11-29 14:23:58

标签: string function powershell function-parameter

我有以下代码:

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中的函数吗?

1 个答案:

答案 0 :(得分:2)

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