函数的返回值

时间:2013-04-11 18:05:22

标签: function powershell return-value

我有两个功能:

Function1
{
    Function2
    return 1
}

Function2
{
    return 0
}

执行Function1后,它应返回1,但会返回0。那是为什么?

2 个答案:

答案 0 :(得分:10)

PowerShell“返回值”并不像您习惯使用其他语言那样真正起作用。要记住的重要一点是捕获并返回所有输出return语句基本上只是一个逻辑退出点。

例如:

Function Return-Zero {
    return 0
}

Function Return-One {
    Return-Zero
    return 1
}

Return-One

由于Return-Zero的返回值未存储在变量中,因此它是输出的一部分。运行以上将输出:

0
1

......这可能是你得到的。如果将Return-Zero的返回值存储在变量中,则它不是输出的一部分。

Function Return-Zero {
    return 0
}

Function Return-One {
    $var = Return-Zero
    return $var
}

Return-One

以上输出为0

答案 1 :(得分:0)

你确定它继续运行,它只返回0吗?它应该返回0(从函数2返回),然后返回1,然后退出。