Math 数学题?

Math 数学题?,math,powershell,Math,Powershell,当它应该返回15时,继续返回5 10,这是怎么回事?要使用两个参数调用other3,请删除括号“()”例如 您当前调用它的方式实际上是传递一个参数,一个包含两个元素的数组,即5和10。第二个参数为空(可能默认为null),这意味着加法不做任何操作,只需返回$x参数。您正在将列表(5,10)传递给参数$x,将$null传递给$y 当函数向列表中添加$null时,您只需返回列表 向函数中添加一些write host语句可以清楚地说明这一点: $a = other3 $x $y 问题解决了,忘了删

当它应该返回15时,继续返回5 10,这是怎么回事?

要使用两个参数调用other3,请删除括号“()”例如

您当前调用它的方式实际上是传递一个参数,一个包含两个元素的数组,即5和10。第二个参数为空(可能默认为null),这意味着加法不做任何操作,只需返回$x参数。

您正在将列表(5,10)传递给参数$x,将$null传递给$y

当函数向列表中添加$null时,您只需返回列表

向函数中添加一些write host语句可以清楚地说明这一点:

$a = other3 $x  $y

问题解决了,忘了删除commaMake一直都犯着同样的错误-powershell在某些方面与C#非常相似,当发生类似的事情时,细微的差异真的会让你抓狂。不过还是坚持吧。我从来没有用过C,我来自C/C++,Python,Java背景。啊哈,这就是发生的事情。Gotchatip:除非你真的想提前退出函数,否则不要使用return关键字。所有未明确捕获的值都是从函数中的powershell返回的。我不同意此评论。我想说的是,避免在函数中使用输出,只需构建一个var来返回,这称为结构化编程,代码将更具可读性。它可以是一条讨论线索:o)@jpblanc欢迎你不同意。隐式返回是函数式编程的原则。生活(和编程)不仅仅是结构化的。我只想说,让我们从头开始。。。Powershell是一种脚本语言。据我所知,在函数式编程的概念中,仅在一点上使用return并不遥远。
$a = other3 $x  $y
function other3($x, $y)
{
    $tmp = $x + $y
    write-host "`x=($x)"
    write-host "`y=($y)"
    return $tmp
}

$x = 5
$y = 10

$a = other3($x, $y)
Write-Host $a