我有以下代码:
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中的函数吗?
答案 0 :(得分:2)
我的评论$input
的澄清是一个保留的自动变量。
如果您使用另一个命名变量在some-string-function
中更改它,您将具有预期的行为。