在函数内设置多个全局变量

时间:2017-08-20 20:26:30

标签: powershell variables scope

我的脚本中有多个全局变量,我在函数中使用。

$global:Row_array = @();
$global:Column_Array = @();
$global:Sorted_Array = @();
$global:totalrows = 0;
$global:array=@();
$global:m_file;

# Button Click Event Handler...
$Run_It.add_Click({
    for($i=0; $i -lt 6; $i++){
        $global:Row_array += $i
    }
    ...
    ...
 })

现在我需要将$global:限定符放在此事件处理程序中的每个全局变量前面吗?

或者我可以这样做:

$Run_It.add_Click({
    for($i=0; $i -lt 6; $i++){
        Row_array += $i
    }
    ...
    ...
    # At the very end...
    $global:Row_array = $Row_array;
    $global:Column_Array = $Column_Array;
    $global:Sorted_Array = $Sorted_Array;
    ...
})

我可以在所有变量的编辑器中进行全局替换,并将$global:放在前面,但想知道是否有更优雅的方式。 ref关键字有问题吗?此外,使用全局变量的函数是否是一个好主意是一个单独的讨论......我将它用于临时项目。

0 个答案:

没有答案