我有两个功能:
Function1
{
Function2
return 1
}
Function2
{
return 0
}
执行后Function1
它应该返回1
,但它返回0
。这是为什么?
我有两个功能:
Function1
{
Function2
return 1
}
Function2
{
return 0
}
执行后Function1
它应该返回1
,但它返回0
。这是为什么?
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
.
你确定它继续运行,并且它只返回 0 吗?它应该返回 0(函数 2 的返回值),然后返回 1,然后退出。