gpt4 book ai didi

function - 为什么我的参数没有传递到函数中?

转载 作者:行者123 更新时间:2023-12-03 06:43:59 26 4
gpt4 key购买 nike

当我创建函数时,我在家用笔记本电脑上遇到了奇怪的行为。参数不会传递到函数中。

示例:

function Get-Info {
param (
$input
)
$input | gm
}

使用此代码(Get-Info -input 'test')我收到错误:

gm : You must specify an object for the Get-Member cmdlet.
At line:5 char:14
+ $input | gm
+ ~~
+ CategoryInfo : CloseError: (:) [Get-Member], InvalidOperationException
+ FullyQualifiedErrorId : NoObjectInGetMember,Microsoft.PowerShell.Commands.GetMemberCommand

我也只是想用参数打印一个详细的语句,但我只得到一个空行。

为什么参数没有传入函数?

最佳答案

@JosefZ 的评论是正确的。 $input 基本上是一个保留变量名称,如 about_Automatic_Variables 中所述。 .

Contains an enumerator that enumerates all input that is passed to a function. The $input variable is available only to functions and script blocks (which are unnamed functions).

因此更改参数名称应该可以按您的预期工作。但不要忘记更改调用函数的方式,以便它也使用新的参数名称。在这种情况下,您也可以在调用函数时完全跳过参数名称

function Get-Info { param($myinput) $myinput | gm }
Get-Info -myinput 'test'
Get-Info 'test'

关于function - 为什么我的参数没有传递到函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57945823/

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