我有一个变量数组,想知道是否可以从数组中获取/返回每个变量的名称(而不是变量的值)?
例如,类似于:
$varArray = @($var1, $var2, $var3)
ForEach ($v in $varArray)
{
*return the name of the variable here, not the value*
}
所以我会有这样的东西:
变量1
变量2
变量3
注意:我确实计划在脚本中的不同位置获取每个变量的“值”,所以这里只需要变量名。
先谢了!
我有一个变量数组,想知道是否可以从数组中获取/返回每个变量的名称(而不是变量的值)?
例如,类似于:
$varArray = @($var1, $var2, $var3)
ForEach ($v in $varArray)
{
*return the name of the variable here, not the value*
}
所以我会有这样的东西:
变量1
变量2
变量3
注意:我确实计划在脚本中的不同位置获取每个变量的“值”,所以这里只需要变量名。
先谢了!
5条答案
按热度按时间jxct1oxe1#
我会从使用数组切换到使用哈希表。使哈希表键成为变量名:
lo8azlld2#
@ mjolino解释说这是不可能的,但是(如果你可以访问sender脚本)你可以通过使用“变量名”而不是变量(s.th.类似于C语言中指针数组的概念)将数组内容上移一层:
访问这些名称是很简单的:
但是,当你想使用变量值时,你要为此付出代价。而不是:
您必须用途:
更方便的方法是将这个丑陋的表达式 Package 在一个函数中:
然后:
yuvru6vn3#
你可以在你的脚本开始时使用类似的东西。我过去在Ansible上不得不这样做。
aurhwmvo4#
我一直在寻找这个问题的解决方案,并通过将变量放置在psObject中来解决它。您可以使用createParaObject函数创建psobjects并将其放置在数组中。之后,您将能够从对象中获取变量名称和值。
v440hwme5#